$ man how-to/build-sqlite-content-index
כלי CLIadvanced
איך לבנות אינדקס תוכן SQLite עבור הריפו שלך
הפוך את מערכת הקבצים למסד נתונים שניתן לשאילתא בלי שום תלות חיצונית
by Shawn Tenam
למה אינדקס SQLite לתוכן
ריפו עם 100+ קבצי תוכן ב-6 פלטפורמות הופך לאטום. מערכת הקבצים מארגנת קבצים לפי נתיב אבל לא יכולה לענות על שאלות כמו: כמה פוסטים הגיעו לגמר השבוע, לאיזה תוכן יש אחים חוצי פלטפורמות, או מה סך ספירת המילים לפברואר. מסד נתונים SQLite שיושב לצד הריפו נותן לך שאילתות SQL על התוכן שלך בלי לשנות את מקור האמת. האינדקס הוא נתון נגזר - נבנה מחדש מקבצים שעוקבים ב-git בכל הרצה. מחק את מסד הנתונים, הרץ את הסקריפט, קבל את אותה תוצאה. אפס תלויות חיצוניות. Python stdlib בלבד: json, sqlite3, pathlib, re.
CODE
תכנון סכמה - תשע טבלאות
הסכמה מכסה כל סוג תוכן בריפו. טבלת content מחזיקה כל טיוטה וגמר בכל הפלטפורמות עם שדות לפלטפורמה, שלב, כותרת, slug, תאריך, עמוד תווך, arc, סדרה, וספירת מילים. daily_logs עוקב אחרי מדדי ביצועים. sessions הוא append-only ושורד בניות מחדש של אינדקס - רשומות היסטוריות, לא נתונים נגזרים. skills מאנדקס את רישום הכישורים של Claude ו-Cursor. content_links מאחסן את גרף היחסים עם שני סוגי קישורים: series_sibling (מזוהה אוטומטית) ו-cross_platform_note (מפורסר מתוכן). assets מפטלג נכסים ויזואליים עם מטאדאטה מובנית שמפורסרת משמות קבצים. videos ו-thumbnails עוקבים אחרי צינור הווידאו. עקרון תכנון הסכמה: כל טבלה ממפה לסוג תוכן, כל שורה נגזרת מקובץ, כל בנייה מחדש היא idempotent.
PATTERN
פרסור מטאדאטה - שני פורמטים
קבצי תוכן משתמשים בשני פורמטי מטאדאטה. רוב הפלטפורמות משתמשות בתחביר blockquote: > **Key**: Value בראש הקובץ. פוסטים לאתר משתמשים ב-YAML frontmatter בין מפרידי ---. הפרסר מזהה את הפורמט אוטומטית ומחלץ שדות מובנים. כותרת מחולצת ממטאדאטה או נופלת חזרה לכותרת # הראשונה. ספירת מילים מסירה frontmatter לפני הספירה. הפרסר הדו-פורמטי אומר שלא צריך לתקנן את כל ריפו התוכן לפורמט אחד. פגוש את התוכן איפה שהוא.
PATTERN
זיהוי קישורים חוצי פלטפורמות
האינדקס מגלה יחסים בין קבצי תוכן אוטומטית. זיהוי אחים מרומז מתאים קבצים עם (תאריך, slug) זהים בין פלטפורמות ויוצר קישורי series_sibling. אם יש לך linkedin/final/2026-02-17_build-your-own-os.md ו-substack/final/2026-02-17_build-your-own-os.md, האינדקס מקשר ביניהם בלי ביאור ידני. זיהוי הפניה צולבת מפורש מפרסר חלקי Cross-Platform Notes, מחפש מילות מפתח של פלטפורמות עם כינויים, ומתאים לתוכן קיים לפי תאריך ופלטפורמה. זה יוצר גרף תוכן שניתן לשאילתא שמראה איך חלקים קשורים לאורך צינור הפרסום שלך.
CODE
מלאי נכסים ווידאו
תבניות שמות קבצים מקודדות מטאדאטה מובנית. פרסר הנכסים מחלץ סוג, tier, class, variant וגודל משמות קבצים כמו tier-3-idle-256.gif או class-alchemist-static.png. פרסר הווידאו מחלץ מותג, יחס גובה-רוחב ופורמט משמות קבצים כמו contentos-landscape או gtmos-linkedin-4x5. כינויי מותג מטפלים בוריאציות - lead-magnet ממפה ל-shawnos, למשל. התוצאה היא מלאי שניתן לשאילתא של כל נכס ויזואלי בריפו בלי קטלוג ידני. הרץ שאילתא כדי למצוא את כל האנימציות idle מ-tier-3 עבור shawnos. הרץ שאילתא נוספת כדי למצוא סרטונים שנפרסו שחסרים מאתר ספציפי.
PRO TIP
זיהוי עמודים מתים ופערי תוכן
שאלת את טבלת content לגבי קבצים עם אפס קישורים נכנסים מ-content_links - אלה יתומים, תוכן שקיים אבל שום דבר לא מצביע אליו. שאלת לגבי קבצים עם אפס קישורים יוצאים - אלה מבויים שלא מתחברים קדימה. השימוש החזק ביותר הוא זיהוי פערים: שאילתא על נושאים צפויים עם אפס כיסוי. ככה האינדקס חשף את הפער שלו עצמו. שלוש מערכות מרכזיות נשלחו בלי כיסוי בלוג. הכלי שמוצא פערי תוכן מצא פערי תוכן על הכלי. השתמש באינדקס ככלי ביקורת תוכן, לא רק כקטלוג. הרץ אותו שבועית. תן לשאילתות להגיד לך מה לכתוב הלאה.
מדריכים קשורים