מכיוון שכמה בקשו אני אכתוב את המדריך הראשון שלי..
המדריך בסיסי עם זאת אשתדל להיות מובן.
המדריך נוצר מ xubuntu ואמור להתאים לכלל הפצות ubuntu,
ולכאורה גם למבוססות debian, עם זאת אני ממליץ על ubuntu.
נקדים:
כל מקום שהפקודה תתחיל ב sudo יכול להיות שתדרשו להקיש סיסמא
כל מקום שבתהליך ההתקנה או הסרה תשאלו y/n? תקישו y
כל מקום שההתקנה עם install תוכלו להסיר עם אותה פקודה רק להחליף install ל- remove
המדריך יחולק לשני חלקים:
החלק הראשון - מדריך ליצירת zim מאתר mediawiki
החלק השני - הורדת אתר שאינו mediawiki ויצירתו ל zim.
.
.
.
החלק הראשון - מדריך ליצירת zim מאתר mediawiki:
הדרך הטובה ביותר לעשות את זה עם תוכנת mwoffliner
mwoffliner מפוצת בעיקר באמצעות npm ו docker (יש אופציה למפתחים דרך git)
ההתקנה שלה דרך npm נכשלת ב ubuntu לכן אנחנו נשתמש ב docker.
בואו נתחיל.
פתחו מסוף.
עדכון מנהל חבילות
sudo apt update
התקנת docker
sudo apt install docker.io
התקנת mwpffliner על docker
sudo docker pull openzim/mwoffliner
פתיחה של דף האופציות של mwpffliner שימו לב שכל פתיחה כזו יוצרת container
sudo docker run openzim/mwoffliner mwoffliner --help
יצירת תחביר בסיסי לאתר wiki רגיל (בדרך כלל כל אתר שאחרי כתובת הבסיס של באתר יש /wiki)
מצריך רק 2 דרישות כתובת אתר ומייל זה נראה כך:
sudo docker run openzim/mwoffliner mwoffliner --mwUrl=https://en.wikipedia.org/ --adminEmail=foo@bar.net
לאתר mediawiki פחות נפוץ (אתר שאחרי כתובת הבסיס שלו אין מיד /wiki)
יש עוד 3 דרישות שעלולות להשתנות בויקיסוגיה זה נראה כך:
sudo docker run openzim/mwoffliner mwoffliner --mwUrl="https://www.betmidrash.org.il/" --adminEmail="0361301@gmail.com" --mwWikiPath="" --mwApiPath="api.php" --mwModulePath="load.php"
במדה ויהיה משתנה ל 3 האופציות הנוספות, תוכלו להבין אותו עם מעט התבוננות בקוד המקור של דף הבית של האתר. (בדרך כלל זה צריך להראות איך שכתבתי).
עם זאת מי שרוצה zim טוב יותר כדאי לו לעבור על כל האופציות שנפתחו ב --help ולהגדיר לפי מה שהוא רוצה/צריך ולא להסתמך על ברירת מחדל.
עכשיו נראה את כל ה container שיצרנו עד כה
sudo docker container ls -a
אם יצרנו את ה zim עכשיו ולא יצרנו עוד container הוא צריך להיות ה container האחרון שהוא העליון ברשימה. תעתיקו את ה ID שלו ותחליפו עם ה ID שרשמתי בפקודה הבאה.
כברירת מחדל ה zim נמצא בספרייה (תקייה) בשם out עכשיו נעתיק את הספרייה עם ה zim מה container ונעתיק אותה לספריית הבית
sudo docker cp 8826d52428f4:/out ~/
ה zim נמצא בספריית הבית בספרייה בשם out.
ממליץ יותר לעשות את זה כך:
sudo docker cp 8826d52428f4:/out ~/ ; sudo cp out/*.zim ~/ ; sudo rm -rf out
זהו ה zim נמצא בספריית הבית.
סיימנו את החלק הראשון.
.
.
.
החלק השני - הורדת אתר שאינו mediawiki ויצירתו ל zim.
החלק השני פשוט יותר מהחלק הראשון
אפשר להוריד את האתר בכל כלי שמוריד אתרים ואפשר לעשות אותה גם ב win עם httrack ו IDM
הסיבה שלא משתמשים באופציה הזאת ל mediawiki כי הכלים האלו לא מותאמים לעבוד עם ממשק mediawiki ויוצרים בעיות עיצוב קשות בהורדת mediawiki.
ב linox אפשר להוריד אתרים עם wget.
אני גם ב linox מעדיף את httrack.
התקנת httrack
sudo apt install httrack
להורדת אתר בסיסית:
httrack
הקלידו שם לפרוייקט ואינטר
הקלידו נתיב. אם תדלגו ברירת המחדל תהיה בספריית הבית בספרייה בשם websites. אינטר.
כתובת אתר. אינטר.
1 ו אינטר.
אינטר.
אינטר.
אינטר.
y ואינטר.
זהו.
עכשיו ניצור zim מהאתר שהורדנו עם כלי בשם zimwriterfs.
התקנת zimwriterfs
sudo apt install zim-tools
אפשר גם עם
sudo apt install zimwriterfs
עכשיו נפתח את דף האופציות
zimwriterfs
התחביר הבסיסי נראה כך:
zimwriterfs --welcome=index.html --illustration=illustration.png --language=heb --title=foobar --description=mydescription \
--creator=Wikipedia --publisher=Kiwix /my_project_html_directory my_project.zim
--welcome= תקלידו את שם דף הבית.
--illustration= שם התמונה שתוצמד ל ZIM היא צריכה להיות בוגדל 48 על 48 פיקסל (או פחות)
--language= לעברית צריך heb
--title= כותרת
--description= כאן תכתבו כל מה שתרצו שיראו בשורה שמתחת ל zim בתוכנה, אם אתם כותבים כמה מילים תעשו " לפני ו " אחרי ותשדלו לא להכניס תווים שאינכם מבינים את משמעותם כגון ' ( ) & !
--creator= ו --publisher= כמדומני לא רואים אותם בכלל בתוכנה כך שלא משנה מה תכתבו שם , אבל הם חובה.
/my_project_html_directory היא הנתיב הספרייה של האתר אותה אנו רוצים לסגור ל zim
ו my_project.zim הוא שם ה zim אם לא תוסיפו נתיב הוא יווצר בספריית הבית
שימו לב!
--welcome ו -illustration צריכים להיות יחסיות לנתיב הספרייה אותה אנו סוגרים
קצת קשה להסביר את זה אבל ניתן דוגמה
עם שם קובץ ה --welcome הוא "D" והוא נמצא ב נתיב A/B/C
והספרייה שאנו סוגרים ל zim היא B
אז במקום /my_project_html_directory נכתוב A/B שזו הספרייה שאנו סוגרים
ובמקום --welcome=index.html נכתוב welcome=C/D
מקווה שהובנתי.
אם הורדתם מ win תקלידו (או תעתיקו) את הנתיב של התקייה ב win כפי ההוראות הנ"ל.
זהו נגמר (סוף סוף!) כמה זמן זה לוקח...
ולסיום,
נ נח נחמ נחמן מאומן