עריכת קבצי HTML באמצעות סקריפט
-
@יוסף-בן-שמעון ברוב המקרים אתה יכול להשתמש בפונקציית "חפש והחלף" עם רג'קס בVSCODE (או עורך הקוד לבחירתך).
וייתכן שאתה יכול לפתוח את הקובץ HTML בדפדפן, לבצע את השינוי בדפדפן באמצעות קוד ג'אווהסקריפט, ולחלץ אותו באמצעותdocument.documentElement.outerHTML
-
@יוסף-בן-שמעון לעצם השאלה, נראה לי ש-cheerio יכול להיות פתרון טוב
לא מבין למה כתבת "שרת". זה פשוט סקריפט -
@yossiz כתב בעריכת קבצי HTML באמצעות סקריפט:
@חגי אי אפשר לעבור על זה בלי לציין תשובה קלאסית זו: https://stackoverflow.com/a/1732454
@חגי רג'קס לא יועיל, במקרה שלי לצערי הראשון צודק...
ולעשות את זה בדפדפן גם לא יועיל כי זה עשרות קבצים (קומפוננטות ותתי קומפוננטות) עם הרבה דאטא שנוסף בזמן ריצה.
תודה בכל אופן! -
@יוסף-בן-שמעון אם התוכן מתרנדר רק בזמן ריצה (כמו בSPA לדוגמה), גם cherio לא יעזור...
-
@יוסף-בן-שמעון חיפשתי html stream editor והגעתי לזה https://lib.rs/crates/html-streaming-editor
(stream editor הוא הרעיון של sed, עבור json יש את jq, מתאים שיהיה משהו דומה עבור HTML)עריכה: יש לו אפס כוכבים בגיטהאב, לא הייתי מהמר על זה
-
@יוסף-בן-שמעון כתב בעריכת קבצי HTML באמצעות סקריפט:
עם הרבה דאטא שנוסף בזמן ריצה.
כמו שזה נשמע, הדרך היחידה שזה יעבוד לך היא דרך הדפדפן.
אתה יכול לכתוב סקריפטים לאוטומציה בדפדפן עם ספריות כמו playwright, puppeteer, selenium -
@יוסף-בן-שמעון כתב בעריכת קבצי HTML באמצעות סקריפט:
עם הרבה דאטא שנוסף בזמן ריצה
???
@צדיק-תמים כתב בעריכת קבצי HTML באמצעות סקריפט:
אם התוכן מתרנדר רק בזמן ריצה (כמו בSPA לדוגמה), גם cherio לא יעזור...
@חגי כתב בעריכת קבצי HTML באמצעות סקריפט:
כמו שזה נשמע, הדרך היחידה שזה יעבוד לך היא דרך הדפדפן.
אתה יכול לכתוב סקריפטים לאוטומציה בדפדפן עם ספריות כמו playwright, puppeteer, seleniumרבותיי, תוכלו להחכים אותי איך ייתכן שאני רוצה לערוך קובץ, שמתווסף בו תוכן דינמי בזמן ריצה? ושיעזור לזה כלי כל שהוא? מה הוא ישמור ולאיפה? אני משפשף את המצח ולא מבין את הסיטואציה.
-
@חגי כתב בעריכת קבצי HTML באמצעות סקריפט:
מדובר בקוד שרץ ומשנה את הDOM בזמן ריצה. והוא צריך את תוכן הקובץ (בעצם הDOM, הקובץ כבר הופך ללא רלוונטי בשלב הזה) לאחר כמה שינויים שהוא עושה "ידנית"
אבל כיון שהוא המפתח, מה ההיגיון לחכות לפלט כדי לשנות ידנית? לא הרבה יותר פשוט לשנות את הקוד?
זה גם לא עולה בקנה אחד עם המילים שלו:@יוסף-בן-שמעון כתב בעריכת קבצי HTML באמצעות סקריפט:
אני צריך לערוך כמה מאות תגיות HTML שנמצאים בכמה עשרות קבצי HTML
משמע שהוא סה"כ רוצה לשנות בקוד איזשהו אלמנט עם מבנה כל שהוא לאופן אחר.
אם ככה לא יהיה לו שום תועלת בפלט הסופי הערוך. -
אוי לי שכתבתי מתוך מעמקי הביצה האנגולרית והייתי בטוח שכולם מבינים אותי, שכחתי שיש חיים מחוץ לאנגולר
הדאטא שהתכוונתי אליו נראה כך
אנגולר מוסיף בזמן ריצה הערות ואטריביוטים לאין מספר, זה משמש את המנוע לכל מיני צרכים עלומים, אותי כמפתח זה לא מעניין, אבל זה גורם שאני לא יכול לחלץ את ההטמל מהדפדפן ולעשות בו שימוש חוזר בקוד.
-
@יוסף-בן-שמעון כתב בעריכת קבצי HTML באמצעות סקריפט:
לחלץ את ההטמל מהדפדפן ולעשות בו שימוש חוזר בקוד
זה בכל מקרה כיון הזוי.
למה זה יותר קל משרת עם cherio? -
@יוסף-בן-שמעון תן פקודה לchatgpt נראה לי שזה יצליח
-
אני רק מציין לפרוטוקול:
cheerio זה לא כוס התה של אנגולר, הוא עלול לשבש הרבה דיירקטיבים ואטריביוטים הכרחיים תוך כדי עבודה, זה פתיר אבל לא טיול בפארק.
תודה לכל העוזרים והמסייעים. -
@חגי דיברתי איתו בפרטי, הוא כבר הסתדר עם זה.
זה היה הוספת קלאס למקרים מסויימים של מבנה.
משהו כמו הוסף קלאס wf-800 לכל label בתנאי שעוטף input + כמה תנאים בכיוון.
ברג'קס די מסוכן לקבוע אם הlabel עוטף input, וקשה לשלב בזה עוד תנאים, וגם ההחלפה מסובכת כי לא בהכרח יש את התכונה class ולעפמים יש ngClass בקיצור קצת בלגן.
אני חושב שאישית כן הייתי מסתדר עם סדרת החלפות ברג'קס אבל זה בהחלט הרתפקאה. -
@צדיק-תמים נפק"מ למעשה רב?