-
עדכון:
אני ו @nigun בדקנו את netlifycms, מתברר שיש תמיכה ל"עריכה פתוחה".
כלומר שכל אחד יכול באמצעות ממשק עריכה נח של netlifycms לכתוב פוסטים, להציע תיקונים וכו')כל עריכה או הוספה בעצם יוצרים פורק של הריפו המקורי, מבצעים את השינוים ומגישים PR לריפו המקורי.
לאחמ"כ ברגע שהPR מאושר - מתבצע בילד מחדש של האתר והגירסא המעודכנת עולה לאוויר -
@aaron
זה לא פותר כ"כ את הבעיה שלי
בא נאמר שריפו main שייך לאתר
אם אני רוצה לכתוב פוסט אני יוצר פורק (ריפו A) ומוסיף מאמר ושולח PR.אחרי חודש אתה רוצה לשפר את המאמר שלי, אתה יוצר פורק מהריפו שלי (ריפו A2)
ושולח לי PR, אני אוהב את התיקון, מאשר, ושולח PR חדש לmain.הבעיה היא כמובן שזה יוצא מסורבל, וגם אין דרך לסנן שאני לא יבצע שינויים בפוסטים של אחרים
(כי הפורק מושך את כל האתר בלי הפרדה בין היוצרים).לכן חשבתי לאחסן את כל הGIT על האתר של הבלוג, וכל פוסט הוא ריפו בפני עצמו
ובכל בילד לאסוף את כל הריפוזיטוריס לאתר המרכזי. -
@nigun אמר בהקמת בלוג שיתופי:
@aaron
מצאתי עורך MD בקוד פתוח
שיש לו גם תוסף לכרום, שמעתיק את כל הטקסט שאני עורך בgithub לעורך שלהם.
לכאורה אם נשלב את זה בgitea עם תיקונים לRTL, זה יהיה מצויין.שים לב שזה בכלל לא תומך כראוי ב-RTL. כלומר הוא לא מציג נכון את ה-preview כRTL.
תנסה אולי לפרק את המציג של VSCODE - הוא מציג הכי נכון (ויש גם תוסף VSCODE שעושה שיוצג כמו בתצוגת MD של גיטהב, זה יפה לדעתי. לפחות בעריכה)
= עריכה = אני נותן לך מ'מ קטן - נראה שזה המקום ממנו הכל מתחיל https://github.com/microsoft/vscode/blob/master/src/vs/base/browser/markdownRenderer.ts
זה בעצם ממיר את הסטרינג של MD שהוא מקבל, ל-HTML -
@aaron אמר בהקמת בלוג שיתופי:
@nigun
איך בדיוק זה נותן לך את הפתרון למה שאתה מחפש? (לגבי הPR לכותב ולא למנהל האתר)באופן עקרוני מנוע SSG לא צריך GIT בשביל לבנות אתר
סך הכל צריך תיקיה עם קבצי MD + קבצי עיצוב וכו', והוא בונה את הכל.
אפשר לערוך את קבצי הMD עם VIM (או כל עורך אחר) על השרת
ואפשר להשתמש בGIT בשביל לעדכן את הקבצים מרחוק.אחרי כל עריכה אפשר לעשות בילד חדש לאתר (ומומלץ לעשות טסט לפני כדי לא להוריד את האתר בטעות).
אפשר להוסיף אוטומציה ואחרי כל עדכון בגיטהאב למשוך את כל הקבצים לשרת, ולעשות טסט + בילד.
הבעיה שלי שאני לא רוצה למשוך את הכל מתוך חשבון אחד בגיטהאב, אלא שהאתר ימשוך קבצים מאלפי חשבונות,
פתרון א' להחזיק רשימה של כל הכתובות שמהם אני רוצה למשוך
פתרון ב' לאחסן את כל החשבונות על השרת שלי, ולמשוך את הכל באופן מקומי.החסרון הוא שאין עורך MD נוח, ואין CMS
אם יהיה עורך MD נוח זה יפתור את רוב הבעיה, ואת הכותרות של הדף (מחבר, תאריך, נושא ,תגיות) אפשר להכניס ידנית בשלב הזה. -
@nigun אמר בהקמת בלוג שיתופי:
@chv
יש לך עורך אחר שאפשר להטמיע אותו בקלות בתוך אתר?
(הידע שלי בצד לקוח חלש)לא יודע, אני גם לא מומחה בזה כמובן..
גם שלא לגמרי הבנתי איך זה עובד אצלך בדיוק מבחינת האתר + התממשקות עם GIT והמילים האחרות שכתבת..
יש הרבה עורכי MD שעובדים עם RTL חלק ונקי, ואפשר להטמיעם באתר על ידי סקריפט \ צירוף הקבצים שלהם לתיקיית האתר והכנסה במקומות הנכונים.
תקרא את זה https://www.jqueryscript.net/blog/best-wysiwyg-markdown-editor.html
זה יפה ולא מסובך להתעסק איתו - https://www.github.com/pytesNET/tail.writer
מצטער הייתי משקיע יותר זמן אבל אני לא לגמרי פנוי עכשיו -
@nigun כמה שינויים יהיו בכל מאמר? זה לא רצוף שנויים כמו קוד, זה רק כתיבה אחת ואח"כ פחות או יותר תיקונים.
לכן, יש מערכות פורומים שאתה יכול להגדיר קבוצה של כותבים עם ההרשאות, כשלכל פוסט יש גם גירסאות קודמות. (את העיצוב והפיצרים אפשר להגדיר לבד)
אני מכיר את זה בXENFORO, וגם שם יש אפשרות להציג את זה כמאמרים, אבל מסתמא יש את זה גם במערכות פורומים אחרים. -
-
@chagold אמר בהקמת בלוג שיתופי:
@nigun בXENFORO יש אפשרות מובנית כזו להגדיר פורומים שההודעות לא יתפרסמו אא"כ באישור מנהל.
לא יודע מה במערכות אחרות, אבל גם א"כ אני מאמין שבמידה וזה קיים שם, אז ככל והמנוע בשרת שלך תוכל לשנות את הקוד שהיכולת תהיה לפותח האשכול ולא למנהל.צריך לראות את הקוד
לפעמים זה יכול להיות שינוי פשוט של כמה שורות
ולפעמים זה יכול להיות הרבה עבודה, עם הרבה מקום לחורי אבטחה.
בנוסף יתכן שיש מגבלות ברישיון, כך שאי אפשר לעשות מידי הרבה שינויים. -
הקמתי משהו ראשוני
זה הדף בgitea
http://185.70.197.169:3000/nigun/content2/src/branch/master/posts/golang/intro.md
וזה הדף באתר הסטטי (HUGO במקרה הזה)
http://185.70.197.169:1313/nigun/posts/golang/intro/ -
כרגע זה בנוי בצורה שיש לי את כל הrepositories (להלן "מאגרים", לא מצאתי מילה אחרת) של gitea בתיקיה אחת
/root/gitea/data/gitea-repositories/
ובתוכו יש תיקיתnigun
שמכילה את כל ה"מאגרים" שלnigun
.
בתוך התיקיה שלhugo
יש את התיקיה שליMy_Website/content/nigun
ועל כל עדכון אני מבצעgit pull /root/gitea/data/gitea-repositories/nigun/content2.git
כשאני אני ירצה לעשות אוטומציה כנראה אני יהיה חייב לתת ריפו קבוע למשל
content
.