בירור | להכניס ספר בשפת מארקדאון לאוצריא עם פאנדוק אפשרי?
-
@האדם-החושב מכין משהו, אל דאגה!
-
הייתי שמח לדעת האם אפשר להכניס ספר שנכתב בשפת מארקונד Markdown כגון בתוכנת Obsidian להכניס לאוצריא
האם ניתן? האם יש איזה תוכנה לכך?
אשמח לכל מידע בעניין!!import re from pathlib import Path import markdown from bs4 import BeautifulSoup from bs4.element import NavigableString SUPPORTED_TAGS = { "a", "abbr", "acronym", "address", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blockquote", "br", "caption", "cite", "code", "data", "dd", "del", "details", "dfn", "dl", "dt", "em", "figcaption", "figure", "footer", "font", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hr", "i", "iframe", "img", "ins", "kbd", "li", "main", "mark", "nav", "noscript", "ol", "p", "pre", "q", "rp", "rt", "ruby", "s", "samp", "section", "small", "span", "strike", "strong", "sub", "sup", "summary", "svg", "table", "tbody", "td", "template", "tfoot", "th", "thead", "time", "tr", "tt", "u", "ul", "var", "video", "math", "mrow", "msup", "msub", "mover", "munder", "msubsup", "moverunder", "mfrac", "mlongdiv", "msqrt", "mroot", "mi", "mn", "mo" } # Void/media tags: meaningful even with no text — never delete as "empty". VOID_TAGS = { "br", "hr", "img", "iframe", "svg", "video", "audio", "source", "input", "col", "area", "embed", } # Tags where newlines are significant — keep line breaks as <br> instead of dropping. PRE_TAGS = {"pre", "code", "textarea"} MD_EXTENSIONS = ["extra", "sane_lists"] # Block-level HTML wrappers whose inner markdown must still be parsed. # python-markdown treats content inside these as raw unless markdown="1" is set. _BLOCK_HTML_RE = re.compile( r"<(div|section|article|aside|main|header|footer|nav|details|figure)\b([^>]*)>", re.IGNORECASE, ) def _enable_md_in_html(md_text: str) -> str: """Add markdown="1" to block wrappers so md_in_html parses their content.""" def add_attr(m: "re.Match[str]") -> str: attrs = m.group(2) if "markdown" in attrs.lower(): return m.group(0) return f'<{m.group(1)}{attrs} markdown="1">' return _BLOCK_HTML_RE.sub(add_attr, md_text) def _strip_unsupported(soup: BeautifulSoup) -> None: """Unwrap tags not in SUPPORTED_TAGS, keeping their content.""" for tag in soup.find_all(): if tag.name not in SUPPORTED_TAGS: tag.unwrap() def _flatten_newlines(soup: BeautifulSoup) -> None: """Keep every tag on one line: newlines -> space, but -> <br> inside pre/code.""" texts = [n for n in soup.descendants if isinstance(n, NavigableString) and "\n" in n] for text in texts: in_pre = any(p.name in PRE_TAGS for p in text.parents) if not in_pre: text.replace_with(text.replace("\n", " ")) continue new_nodes = [] for i, part in enumerate(text.strip("\n").split("\n")): if i > 0: new_nodes.append(soup.new_tag("br")) new_nodes.append(NavigableString(part)) text.replace_with(*new_nodes) def _remove_empty(soup: BeautifulSoup) -> None: """Drop empty tags, but keep void/media tags and any tag wrapping one.""" for tag in soup.find_all(): if tag.name in VOID_TAGS: continue if not tag.get_text(strip=True) and not tag.find(VOID_TAGS): tag.decompose() def md_to_otzaria(md_text: str) -> str: md_text = _enable_md_in_html(md_text) html = markdown.markdown(md_text, extensions=MD_EXTENSIONS) soup = BeautifulSoup(html, "html.parser") _strip_unsupported(soup) _flatten_newlines(soup) _remove_empty(soup) # One top-level node per line. lines = [] for node in soup.contents: if isinstance(node, NavigableString): stripped = node.strip() if stripped: lines.append(stripped) else: lines.append(str(node)) return "\n".join(lines) def main(md_file_path: Path | str, output_file_path: Path | str | None = None) -> None: md_file_path = Path(md_file_path) if output_file_path is not None: output_file_path = Path(output_file_path) else: output_file_path = md_file_path.with_suffix(".txt") with md_file_path.open("r", encoding="utf-8") as f: md_text = f.read() otzaria_text = md_to_otzaria(md_text) with output_file_path.open("w", encoding="utf-8") as f: f.write(otzaria_text) if __name__ == "__main__": md_file = r"C:\Users\User\Downloads\README (2).md" main(md_file) -
import re from pathlib import Path import markdown from bs4 import BeautifulSoup from bs4.element import NavigableString SUPPORTED_TAGS = { "a", "abbr", "acronym", "address", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blockquote", "br", "caption", "cite", "code", "data", "dd", "del", "details", "dfn", "dl", "dt", "em", "figcaption", "figure", "footer", "font", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hr", "i", "iframe", "img", "ins", "kbd", "li", "main", "mark", "nav", "noscript", "ol", "p", "pre", "q", "rp", "rt", "ruby", "s", "samp", "section", "small", "span", "strike", "strong", "sub", "sup", "summary", "svg", "table", "tbody", "td", "template", "tfoot", "th", "thead", "time", "tr", "tt", "u", "ul", "var", "video", "math", "mrow", "msup", "msub", "mover", "munder", "msubsup", "moverunder", "mfrac", "mlongdiv", "msqrt", "mroot", "mi", "mn", "mo" } # Void/media tags: meaningful even with no text — never delete as "empty". VOID_TAGS = { "br", "hr", "img", "iframe", "svg", "video", "audio", "source", "input", "col", "area", "embed", } # Tags where newlines are significant — keep line breaks as <br> instead of dropping. PRE_TAGS = {"pre", "code", "textarea"} MD_EXTENSIONS = ["extra", "sane_lists"] # Block-level HTML wrappers whose inner markdown must still be parsed. # python-markdown treats content inside these as raw unless markdown="1" is set. _BLOCK_HTML_RE = re.compile( r"<(div|section|article|aside|main|header|footer|nav|details|figure)\b([^>]*)>", re.IGNORECASE, ) def _enable_md_in_html(md_text: str) -> str: """Add markdown="1" to block wrappers so md_in_html parses their content.""" def add_attr(m: "re.Match[str]") -> str: attrs = m.group(2) if "markdown" in attrs.lower(): return m.group(0) return f'<{m.group(1)}{attrs} markdown="1">' return _BLOCK_HTML_RE.sub(add_attr, md_text) def _strip_unsupported(soup: BeautifulSoup) -> None: """Unwrap tags not in SUPPORTED_TAGS, keeping their content.""" for tag in soup.find_all(): if tag.name not in SUPPORTED_TAGS: tag.unwrap() def _flatten_newlines(soup: BeautifulSoup) -> None: """Keep every tag on one line: newlines -> space, but -> <br> inside pre/code.""" texts = [n for n in soup.descendants if isinstance(n, NavigableString) and "\n" in n] for text in texts: in_pre = any(p.name in PRE_TAGS for p in text.parents) if not in_pre: text.replace_with(text.replace("\n", " ")) continue new_nodes = [] for i, part in enumerate(text.strip("\n").split("\n")): if i > 0: new_nodes.append(soup.new_tag("br")) new_nodes.append(NavigableString(part)) text.replace_with(*new_nodes) def _remove_empty(soup: BeautifulSoup) -> None: """Drop empty tags, but keep void/media tags and any tag wrapping one.""" for tag in soup.find_all(): if tag.name in VOID_TAGS: continue if not tag.get_text(strip=True) and not tag.find(VOID_TAGS): tag.decompose() def md_to_otzaria(md_text: str) -> str: md_text = _enable_md_in_html(md_text) html = markdown.markdown(md_text, extensions=MD_EXTENSIONS) soup = BeautifulSoup(html, "html.parser") _strip_unsupported(soup) _flatten_newlines(soup) _remove_empty(soup) # One top-level node per line. lines = [] for node in soup.contents: if isinstance(node, NavigableString): stripped = node.strip() if stripped: lines.append(stripped) else: lines.append(str(node)) return "\n".join(lines) def main(md_file_path: Path | str, output_file_path: Path | str | None = None) -> None: md_file_path = Path(md_file_path) if output_file_path is not None: output_file_path = Path(output_file_path) else: output_file_path = md_file_path.with_suffix(".txt") with md_file_path.open("r", encoding="utf-8") as f: md_text = f.read() otzaria_text = md_to_otzaria(md_text) with output_file_path.open("w", encoding="utf-8") as f: f.write(otzaria_text) if __name__ == "__main__": md_file = r"C:\Users\User\Downloads\README (2).md" main(md_file)import re from pathlib import Path import markdown from bs4 import BeautifulSoup from bs4.element import NavigableString SUPPORTED_TAGS = { "a", "abbr", "acronym", "address", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blockquote", "br", "caption", "cite", "code", "data", "dd", "del", "details", "dfn", "dl", "dt", "em", "figcaption", "figure", "footer", "font", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hr", "i", "iframe", "img", "ins", "kbd", "li", "main", "mark", "nav", "noscript", "ol", "p", "pre", "q", "rp", "rt", "ruby", "s", "samp", "section", "small", "span", "strike", "strong", "sub", "sup", "summary", "svg", "table", "tbody", "td", "template", "tfoot", "th", "thead", "time", "tr", "tt", "u", "ul", "var", "video", "math", "mrow", "msup", "msub", "mover", "munder", "msubsup", "moverunder", "mfrac", "mlongdiv", "msqrt", "mroot", "mi", "mn", "mo" } # Void/media tags: meaningful even with no text — never delete as "empty". VOID_TAGS = { "br", "hr", "img", "iframe", "svg", "video", "audio", "source", "input", "col", "area", "embed", } # Tags where newlines are significant — keep line breaks as <br> instead of dropping. PRE_TAGS = {"pre", "code", "textarea"} MD_EXTENSIONS = ["extra", "sane_lists"] # Block-level HTML wrappers whose inner markdown must still be parsed. # python-markdown treats content inside these as raw unless markdown="1" is set. _BLOCK_HTML_RE = re.compile( r"<(div|section|article|aside|main|header|footer|nav|details|figure)\b([^>]*)>", re.IGNORECASE, ) def _enable_md_in_html(md_text: str) -> str: """Add markdown="1" to block wrappers so md_in_html parses their content.""" def add_attr(m: "re.Match[str]") -> str: attrs = m.group(2) if "markdown" in attrs.lower(): return m.group(0) return f'<{m.group(1)}{attrs} markdown="1">' return _BLOCK_HTML_RE.sub(add_attr, md_text) def _strip_unsupported(soup: BeautifulSoup) -> None: """Unwrap tags not in SUPPORTED_TAGS, keeping their content.""" for tag in soup.find_all(): if tag.name not in SUPPORTED_TAGS: tag.unwrap() def _flatten_newlines(soup: BeautifulSoup) -> None: """Keep every tag on one line: newlines -> space, but -> <br> inside pre/code.""" texts = [n for n in soup.descendants if isinstance(n, NavigableString) and "\n" in n] for text in texts: in_pre = any(p.name in PRE_TAGS for p in text.parents) if not in_pre: text.replace_with(text.replace("\n", " ")) continue new_nodes = [] for i, part in enumerate(text.strip("\n").split("\n")): if i > 0: new_nodes.append(soup.new_tag("br")) new_nodes.append(NavigableString(part)) text.replace_with(*new_nodes) def _remove_empty(soup: BeautifulSoup) -> None: """Drop empty tags, but keep void/media tags and any tag wrapping one.""" for tag in soup.find_all(): if tag.name in VOID_TAGS: continue if not tag.get_text(strip=True) and not tag.find(VOID_TAGS): tag.decompose() def md_to_otzaria(md_text: str) -> str: md_text = _enable_md_in_html(md_text) html = markdown.markdown(md_text, extensions=MD_EXTENSIONS) soup = BeautifulSoup(html, "html.parser") _strip_unsupported(soup) _flatten_newlines(soup) _remove_empty(soup) # One top-level node per line. lines = [] for node in soup.contents: if isinstance(node, NavigableString): stripped = node.strip() if stripped: lines.append(stripped) else: lines.append(str(node)) return "\n".join(lines) def main(md_file_path: Path | str, output_file_path: Path | str | None = None) -> None: md_file_path = Path(md_file_path) if output_file_path is not None: output_file_path = Path(output_file_path) else: output_file_path = md_file_path.with_suffix(".txt") with md_file_path.open("r", encoding="utf-8") as f: md_text = f.read() otzaria_text = md_to_otzaria(md_text) with output_file_path.open("w", encoding="utf-8") as f: f.write(otzaria_text) if __name__ == "__main__": md_file = r"C:\Users\User\Downloads\README (2).md" main(md_file)צריך לנעוץ את הפוסט הזה.
@י.-פל. -
י י. פל. סימן נושא זה כנפתר ב
-
י י. פל. הצמיד נושא זה ב
-
הייתי שמח לדעת האם אפשר להכניס ספר שנכתב בשפת מארקונד Markdown כגון בתוכנת Obsidian להכניס לאוצריא
האם ניתן? האם יש איזה תוכנה לכך?
אשמח לכל מידע בעניין!!@ספי תכלס' אתה מסתדר עם הקוד, או שאתה צריך שנקמפל לך אותו ל EXE?
-
@ספי תכלס' אתה מסתדר עם הקוד, או שאתה צריך שנקמפל לך אותו ל EXE?
@ספי תכלס' אתה מסתדר עם הקוד, או שאתה צריך שנקמפל לך אותו ל EXE?
בכל מקרה עדיף שתקמפל ותפרסם בתוכנות עזר.|
אני חשוב שזה יכול להיות שימושי -
אני הסתדרתי, ממש יישר כח
אני בעצם בניתי תוכנת המרה עם שלל אפשרויות טובות ומקצועיות, ורציתי לוודא שעבודתי לא לחינם, יש כאן כב איזה תוכנות חינמיות שעושות מה שאני עשיתי, אבל אני עשיתי ברמה קצת יותר מקצועית, [למרות שאני איני מבין בבניית תוכנות] עשיתי זאת לצורך מטרה מסוימת ובעז"ה אפרסם זאת לציבור היקר -
ס ספי סימן נושא זה כנושא רגיל ב
-
import re from pathlib import Path import markdown from bs4 import BeautifulSoup from bs4.element import NavigableString SUPPORTED_TAGS = { "a", "abbr", "acronym", "address", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blockquote", "br", "caption", "cite", "code", "data", "dd", "del", "details", "dfn", "dl", "dt", "em", "figcaption", "figure", "footer", "font", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hr", "i", "iframe", "img", "ins", "kbd", "li", "main", "mark", "nav", "noscript", "ol", "p", "pre", "q", "rp", "rt", "ruby", "s", "samp", "section", "small", "span", "strike", "strong", "sub", "sup", "summary", "svg", "table", "tbody", "td", "template", "tfoot", "th", "thead", "time", "tr", "tt", "u", "ul", "var", "video", "math", "mrow", "msup", "msub", "mover", "munder", "msubsup", "moverunder", "mfrac", "mlongdiv", "msqrt", "mroot", "mi", "mn", "mo" } # Void/media tags: meaningful even with no text — never delete as "empty". VOID_TAGS = { "br", "hr", "img", "iframe", "svg", "video", "audio", "source", "input", "col", "area", "embed", } # Tags where newlines are significant — keep line breaks as <br> instead of dropping. PRE_TAGS = {"pre", "code", "textarea"} MD_EXTENSIONS = ["extra", "sane_lists"] # Block-level HTML wrappers whose inner markdown must still be parsed. # python-markdown treats content inside these as raw unless markdown="1" is set. _BLOCK_HTML_RE = re.compile( r"<(div|section|article|aside|main|header|footer|nav|details|figure)\b([^>]*)>", re.IGNORECASE, ) def _enable_md_in_html(md_text: str) -> str: """Add markdown="1" to block wrappers so md_in_html parses their content.""" def add_attr(m: "re.Match[str]") -> str: attrs = m.group(2) if "markdown" in attrs.lower(): return m.group(0) return f'<{m.group(1)}{attrs} markdown="1">' return _BLOCK_HTML_RE.sub(add_attr, md_text) def _strip_unsupported(soup: BeautifulSoup) -> None: """Unwrap tags not in SUPPORTED_TAGS, keeping their content.""" for tag in soup.find_all(): if tag.name not in SUPPORTED_TAGS: tag.unwrap() def _flatten_newlines(soup: BeautifulSoup) -> None: """Keep every tag on one line: newlines -> space, but -> <br> inside pre/code.""" texts = [n for n in soup.descendants if isinstance(n, NavigableString) and "\n" in n] for text in texts: in_pre = any(p.name in PRE_TAGS for p in text.parents) if not in_pre: text.replace_with(text.replace("\n", " ")) continue new_nodes = [] for i, part in enumerate(text.strip("\n").split("\n")): if i > 0: new_nodes.append(soup.new_tag("br")) new_nodes.append(NavigableString(part)) text.replace_with(*new_nodes) def _remove_empty(soup: BeautifulSoup) -> None: """Drop empty tags, but keep void/media tags and any tag wrapping one.""" for tag in soup.find_all(): if tag.name in VOID_TAGS: continue if not tag.get_text(strip=True) and not tag.find(VOID_TAGS): tag.decompose() def md_to_otzaria(md_text: str) -> str: md_text = _enable_md_in_html(md_text) html = markdown.markdown(md_text, extensions=MD_EXTENSIONS) soup = BeautifulSoup(html, "html.parser") _strip_unsupported(soup) _flatten_newlines(soup) _remove_empty(soup) # One top-level node per line. lines = [] for node in soup.contents: if isinstance(node, NavigableString): stripped = node.strip() if stripped: lines.append(stripped) else: lines.append(str(node)) return "\n".join(lines) def main(md_file_path: Path | str, output_file_path: Path | str | None = None) -> None: md_file_path = Path(md_file_path) if output_file_path is not None: output_file_path = Path(output_file_path) else: output_file_path = md_file_path.with_suffix(".txt") with md_file_path.open("r", encoding="utf-8") as f: md_text = f.read() otzaria_text = md_to_otzaria(md_text) with output_file_path.open("w", encoding="utf-8") as f: f.write(otzaria_text) if __name__ == "__main__": md_file = r"C:\Users\User\Downloads\README (2).md" main(md_file)@האדם-החושב
למה להמציא את הגלגל מחדש
יש מלא ספריות מוכנות לזה
לדוגמה: markednpx marked file.md > output.html //OR npx marked file.md > output.txt -
@האדם-החושב
למה להמציא את הגלגל מחדש
יש מלא ספריות מוכנות לזה
לדוגמה: markednpx marked file.md > output.html //OR npx marked file.md > output.txt -
הכוונה שאת השפה הזאת שאתם מכירים אני כאברך לא הכרתי, תמיד היה לי ידע במחשבים, ואף קליטה מהירה, אבל "המסכים השחורים" היו רחוקים מנגד עיני ולכן בניתי את התוכנה הזאת, ולעוד צורך גדול שאפרסם בהמשך.
אגב יש לי שאלה של בור.. מדוע בעצם לא השתמשו מפתחי אוצריא להכניס את כל הספרים גם לתוכנת - Obsidian זה ממש יפה, אפשרויות חיפוש מתקדמות, קישורים, ועוד רבות כהנה וכהנה.. אני לא משתמש הרבה עם התכונה הזאת.. אבל בקלילות שלה היא מדהימה.
אני הכנסתי את כל הספרים של אוצריא לObsidian
מאיר- לא הבנתי..
ואשמח לדעת היות ואני חדש בפורום, בעצם היום מי שרוצה להכניס ספרים לאוצריא מוורד עם סגנונות [כי מארקדאון כבר הבנו שיש סקריפטים] האם הוא צריך עבודה ידנית? [מסתבר שלא..] זה בעצם "עורך מנחם"?? ז"א לזה הוא נועד? להכנסת וורד עם סגנונות של כותרת לאוצריא? -
הכוונה שאת השפה הזאת שאתם מכירים אני כאברך לא הכרתי, תמיד היה לי ידע במחשבים, ואף קליטה מהירה, אבל "המסכים השחורים" היו רחוקים מנגד עיני ולכן בניתי את התוכנה הזאת, ולעוד צורך גדול שאפרסם בהמשך.
אגב יש לי שאלה של בור.. מדוע בעצם לא השתמשו מפתחי אוצריא להכניס את כל הספרים גם לתוכנת - Obsidian זה ממש יפה, אפשרויות חיפוש מתקדמות, קישורים, ועוד רבות כהנה וכהנה.. אני לא משתמש הרבה עם התכונה הזאת.. אבל בקלילות שלה היא מדהימה.
אני הכנסתי את כל הספרים של אוצריא לObsidian
מאיר- לא הבנתי..
ואשמח לדעת היות ואני חדש בפורום, בעצם היום מי שרוצה להכניס ספרים לאוצריא מוורד עם סגנונות [כי מארקדאון כבר הבנו שיש סקריפטים] האם הוא צריך עבודה ידנית? [מסתבר שלא..] זה בעצם "עורך מנחם"?? ז"א לזה הוא נועד? להכנסת וורד עם סגנונות של כותרת לאוצריא?בעצם היום מי שרוצה להכניס ספרים לאוצריא מוורד עם סגנונות
יש כיום 2 אפשרויות.
- להכניס את הספר דרך ההגדרות בהכנסת ספרים אישיים. התוכנה תומכת בקריאה ובחיפוש בקבצי וורד. בגדול רוב העיצוב הבסיסי וודאי נשמר
[לבקשת תמיכה בהצגת סגנונות ופונקציות נוספות שיש בוורד ואוצריא עדיין לא מציגה אותם כעת כמו שצריך יש לפנות ל @נתנאל_26]. - ע"י המרתם לקבצי טקסט עם עיצוב ע"י תגי HTML שזה בעצם המבנה של קבצי אוצריא.
כרגע הצורה הרשמית והמצקצועית היא להמיר אותם דרך 'עורך מנחם'. בימים הקרובים בעז"ה אמורה להצאת תוכנת פייתון שעושה את אותה עבודה בשלש שניות בלבד. [למי שרוצה לראות בינתיים הנה היא: https://github.com/YOSEFTT/OrechMenachemPy/tree/main]
אם זה קבצים שאתה רוצה לשלוח אותם לאוצריא לתועלת הכלל, ניתן להעלות דרך אתר אוצריא בלשונית 'הוספת ספר'.
לגבי קבצי טקסט עם עיצוב מארקדאון, כרגע בהכנסצם בצורה ישירה לקבצים אישיים דרך ההגדרות העיצוב לא יוצג כתקנו באוצריא, כי כרגע היא לא תומכת במארקדאון. לכן צריך קודם להמיר אותם לקבצי טקסט עם תגיות HTML ע"י הקוד שהביא לך @האדם-החושב
מה ש @meir כתב לך לא רלוונטי בכלל, כמו שכתב לך כבר @האדם-החושבמקווה שעניתי לך על כל שאלותיך.
- להכניס את הספר דרך ההגדרות בהכנסת ספרים אישיים. התוכנה תומכת בקריאה ובחיפוש בקבצי וורד. בגדול רוב העיצוב הבסיסי וודאי נשמר
-
@meir הנקודה היא שאוצריא לא תומכת בכל תגי הhtml, בנוסף - אוצריא מרנדרת שורה אחרי שורה, מה שיוצר מצב שכל העץ אמור להיות בשורה בודדת.
-
הנקודה היא שאוצריא לא תומכת בכל תגי הhtml
איזה תגים של html שמיוצגים בmd לא נתמך באוצריא?
הנקודה היא שאוצריא לא תומכת בכל תגי הhtml
איזה תגים של html שמיוצגים בmd לא נתמך באוצריא?
איך שזה נראה זו הרשימה הזו בקוד למעלה:
VOID_TAGS = { "br", "hr", "img", "iframe", "svg", "video", "audio", "source", "input", "col", "area", "embed", } -
הנקודה היא שאוצריא לא תומכת בכל תגי הhtml
איזה תגים של html שמיוצגים בmd לא נתמך באוצריא?
איך שזה נראה זו הרשימה הזו בקוד למעלה:
VOID_TAGS = { "br", "hr", "img", "iframe", "svg", "video", "audio", "source", "input", "col", "area", "embed", }@ע-ה-דכו-ע זה לא נכון!
אין לי מושג מהיכן הבאת את הרשימה הזו, אבל לכה"פ התגים:"br", "hr", "img"וודאי נתמכים באוצריא. -
@ע-ה-דכו-ע זה לא נכון!
אין לי מושג מהיכן הבאת את הרשימה הזו, אבל לכה"פ התגים:"br", "hr", "img"וודאי נתמכים באוצריא.@ע-ה-דכו-ע זה לא נכון!
אין לי מושג מהיכן הבאת את הרשימה הזו, אבל לכה"פ התגים:"br", "hr", "img"וודאי נתמכים באוצריא.טוב, האמת שאתה צודק, אפילו לא עברתי על הרשימה עצמה, רק קצת עברתי מלמעלה על הקוד ש @האדם-החושב הביא כאן למעלה וזה היה נראה לי רשימה של תגיות להסרה, עכשיו אני רואה שיש שם הערה שהרשימה הזו היא של תגיות שצריכות להישאר גם אם הם לא מכילות טקסט...
-
-
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות