npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

nodebb-plugin-insurance-reminder

v1.0.2

Published

Insurance renewal reminder plugin for NodeBB - date field + notification/email reminder

Readme

nodebb-plugin-insurance-reminder — מדריך התקנה מדויק

תזכורת אוטומטית לחידוש ביטוח רכב: שדה תאריך בעריכת פרופיל, ותזכורת (התראה + באנר) כשנותרו 14 יום או פחות.


דרך א' (מומלצת) — התקנה דרך ACP, בלי SSH בכלל

גילינו שב-ACP → Extend → Plugins → "מצא תוספים" יש כפתור "התקנה" ליד כל תוסף - NodeBB מתקין אותו בעצמו מ-npm, בלי צורך בגישת שרת. וב-Extend → Plugins יש גם כפתורי "הפעלה מחדש" / "בניה מחדש והפעלה מחדש". כלומר כל התהליך אפשרי מתוך הפאנל בלבד - בתנאי שהפלאגין קודם מפורסם ל-npm הציבורי.

פרסום ל-npm נעשה מהמחשב שלך (לא מהשרת של הפורום!) - כל מחשב עם Node.js מספיק, אין צורך בשום גישה לשרת של rechavimzelaze.ovh בשלב הזה:

  1. וודא ש-Node.js מותקן במחשב שלך: פתח טרמינל (Mac: Terminal, Windows: PowerShell) ותריץ node -v. אם לא מותקן - הורד מ-nodejs.org (גרסת LTS), התקנה רגילה של תוכנה, כמה קליקים.
  2. פתח חשבון npm חינמי: ב-https://www.npmjs.com/signup (מייל + שם משתמש + סיסמה, בלי כרטיס אשראי).
  3. מתוך תיקיית הריפו הזה במחשב שלך, בטרמינל:
    cd nodebb-plugin-insurance-reminder
    npm login
    (יבקש שם משתמש/סיסמה/מייל מה-npm שיצרת בשלב 2, ואולי קוד אימות אם הפעלת 2FA).
  4. פרסום בפועל:
    npm publish --access public
    בדקתי מראש שהשם nodebb-plugin-insurance-reminder פנוי ב-npm. אם בכל זאת תקבל שגיאת "name already taken" (למשל מישהו תפס אותו בינתיים) - שנה את השדה "name" ב-package.json לשם ייחודי יותר (למשל nodebb-plugin-insurance-reminder-rz) ונסה שוב.
  5. חזרה ל-ACP: Extend → Plugins → "מצא תוספים" → תחפש insurance-reminder → כפתור "התקנה".
  6. אחרי ההתקנה - לך ל-"מותקן" (Installed), תחפש את התוסף ותלחץ Activate.
  7. בסיידבר: "הפעלה מחדש" (Restart) - כדי שהפלאגין ייטען בפועל.
  8. תמשיך לסעיף "בדיקה" למטה - הכל זהה בין שתי הדרכים.

אם משהו בתהליך הזה נכשל (למשל כפתור "התקנה" נותן שגיאת הרשאות בשרת) - זה הזמן לעבור לדרך ב' (SSH) למטה.


דרך ב' — התקנה ידנית עם SSH

אם דרך א' לא עבדה, או שתרצה שליטה ידנית מלאה:

שני חלקים, שני מקומות שונים:

  1. plugin.json + library.js + package.json — קוד שרת. דורש SSH (זה הדבר היחיד בכל המדריך שדורש שורת פקודה).
  2. static/lib/insurance-reminder-client.js — קוד לקוח. נדבק ב-Admin Control Panel, בדיוק כמו הסקריפט הקיים של אשף הרכב. לא דורש SSH.

אם בסופו של דבר יתברר שאין לך גישת SSH בפועל (רק כניסת מנהל לפורום עצמו) — עצור אחרי שלב 0 ותגיד לי, כי אז חלק 1 לא ניתן לביצוע בלעדיי/בלעדי מי שכן יש לו גישה לשרת.


שלב 0: לוודא שיש גישה, ולזהות את סוג ההתקנה

התחבר לשרת ב-SSH ותריץ:

which node && node -v

אם זה נכשל (command not found) — כנראה שאין לך גישה לסביבה הנכונה, או שזה לא אותו שרת שמריץ את NodeBB. תגיד לי מה קרה ונברר יחד.

אחר כך תמצא איפה NodeBB מותקן בפועל. בד"כ זה תיקייה בשם nodebb בתוך home directory של המשתמש, או תחת /var/www. נסה:

find / -maxdepth 4 -iname "nodebb" -type d 2>/dev/null

תעבור לתיקייה שנמצאה (למשל cd ~/nodebb), ותוודא שזו באמת התקנת NodeBB:

cat package.json | grep '"name"'

אמור להציג "name": "nodebb". מכאן והלאה בכל הפקודות, <NODEBB_DIR> = התיקייה הזו.


שלב 1: להעלות את תיקיית הפלאגין לשרת

מהמחשב שלך (לא מתוך השרת), תעלה את כל התיקייה nodebb-plugin-insurance-reminder (יש בריפו הזה, ב-branch claude/forum-improvement-ideas-6e439a) לתוך <NODEBB_DIR>/node_modules/.

הכי פשוט עם scp (תריץ מהמחשב שלך, לא מהשרת):

scp -r nodebb-plugin-insurance-reminder USER@YOUR_SERVER:<NODEBB_DIR>/node_modules/

(תחליף USER@YOUR_SERVER בפרטי ה-SSH האמיתיים שלך, ו-<NODEBB_DIR> בנתיב שמצאת בשלב 0.)

חלופה אם אין לך scp/נוח יותר ב-git: לעשות git clone של הריפו הזה איפשהו בשרת, ואז:

cp -r /path/to/P0/nodebb-plugin-insurance-reminder <NODEBB_DIR>/node_modules/nodebb-plugin-insurance-reminder

שלב 2: להתקין את התלות (node-cron) ולרשום את הפלאגין

בתוך השרת, מתוך <NODEBB_DIR>:

cd <NODEBB_DIR>
npm install ./node_modules/nodebb-plugin-insurance-reminder --no-save

זה יתקין את node-cron (התלות היחידה של הפלאגין) לתוך node_modules הראשי של NodeBB.

אם הפקודה נכשלת עם שגיאת הרשאות (EACCES) — תריץ עם המשתמש שבבעלותו רץ NodeBB (לרוב לא root), למשל sudo -u nodebb npm install ... — תלוי איך השרת שלך מוגדר. אם אתה לא בטוח מי המשתמש, תגיד לי מה קורה כשאתה מריץ ls -la <NODEBB_DIR> ונזהה יחד.


שלב 3: להפעיל את הפלאגין דרך פאנל הניהול

  1. היכנס ל-Admin Control PanelExtendPlugins.
  2. לך ללשונית Installed (לא Find Plugins — הוא כבר מותקן ידנית, לא דרך ה-Marketplace).
  3. חפש "Insurance Renewal Reminder" ולחץ Activate.

אם הוא לא מופיע ברשימה בכלל — סימן שהעתקת הקבצים בשלב 1 לא הצליחה, או שהנתיב לא נכון. תריץ בשרת:

ls <NODEBB_DIR>/node_modules/nodebb-plugin-insurance-reminder

אמור להראות את plugin.json, library.js, package.json, static/. אם התיקייה ריקה/לא קיימת — חזור לשלב 1.


שלב 4: להפעיל מחדש את NodeBB

הפלאגין נטען רק באתחול השרת. תלוי איך NodeBB רץ אצלך:

# אם רץ עם pm2:
pm2 restart nodebb

# אם רץ עם הסקריפט המובנה של NodeBB:
cd <NODEBB_DIR>
./nodebb restart

לא בטוח איזה מהשניים? תריץ pm2 list — אם רואה שם nodebb ברשימה, זה pm2. אם לא, השתמש ב-./nodebb restart.

איך לוודא שזה עלה בהצלחה: תריץ מיד אחרי:

# pm2:
pm2 logs nodebb --lines 50

# ./nodebb:
cd <NODEBB_DIR> && ./nodebb log

אתה אמור לראות בלוג את השורה:

[nodebb-plugin-insurance-reminder] נטען בהצלחה, הבדיקה היומית תרוץ ב-08:00

אם רואה שגיאה אדומה (Error, Cannot find module, וכו') במקום זה — תעתיק לי את השורות המדויקות מהלוג, ואני אתקן את הקוד בהתאם (יש כמה API-ים פנימיים ב-NodeBB שמשתנים קצת בין גרסאות, ואני לא יכול לבדוק את זה מראש בלי גישה לשרת שלך בעצמו).


שלב 5: להדביק את קוד הלקוח

Admin Control PanelAppearanceCustomCustom JavaScript:

פתח את הקובץ static/lib/insurance-reminder-client.js מהתיקייה, העתק את כל התוכן, והדבק אותו בסוף התיבה הקיימת (אחרי הסקריפט של אשף הרכב, לא במקומו — אפשר כמה סקריפטים ברצף בתיבה אחת). ודא שה-checkbox "Enable Custom JS" מסומן, ולחץ Save.


שלב 6: בדיקה (בלי לחכות עד השעה 08:00 של מחר)

  1. בדיקת השדות: היכנס לעמוד עריכת הפרופיל שלך (/user/<שם-משתמש>/edit). אמורה להופיע כרטיסייה "ביטוח רכב" בראש העמוד. מלא תאריך תוקף שהוא בעוד 5 ימים מהיום, לחץ שמירה.
  2. בדיקת הבאנר: רענן את הדף (או נווט לעמוד אחר). אמור להופיע באנר כתום למעלה: "נותרו 5 ימים לחידוש ביטוח הרכב שלכם".
  3. בדיקת ההתראה (בלי לחכות ל-cron): פתח את קונסולת המפתחים בדפדפן (F12) בזמן שאתה מחובר כמנהל, ותריץ:
    socket.emit('plugins.insuranceReminder.testRun', {}, console.log)
    זה מריץ את הבדיקה היומית מיידית לכל המשתמשים (לא רק לך). תראה בקונסולה {checked: N, notified: 1} (או יותר, אם יש עוד משתמשים עם תאריך קרוב). לך לפעמון ההתראות ב-NodeBB — אמורה להופיע התראה חדשה "נותרו 5 ימים לחידוש ביטוח הרכב שלך".

אם שלב 1-2 עובדים אבל שלב 3 לא (אין התראה בפעמון) — תעתיק לי מה הודפס בקונסולה, כנראה ה-API של notifications.create/push שונה מעט בגרסת NodeBB שלך ואני אתאים.


נסיגה (rollback) אם צריך

  • לכבות רק את הבאנר/כרטיסייה: להסיר את הקטע שהודבק בשלב 5 מתיבת ה-Custom JS ולשמור.
  • לכבות גם את השרת: Admin Control PanelPluginsInstalledDeactivate על הפלאגין, ואז ./nodebb restart / pm2 restart nodebb.
  • שום דבר כאן לא נוגע בטבלאות/נתונים קיימים של NodeBB - רק מוסיף שני שדות חדשים לאובייקט המשתמש, כך שאין סיכון לנתונים קיימים.