Conflict testing [b]Display by URL to its webroot filename[/b] [nobbc][pdf]https://forum.drugs-and-users.org/PIHKAL-PEA.pdf[/pdf][/nobbc] [nobbc][b]Display by attachment id[b] [pdf=attach-0]Display the first valid PDF attachment[/pdf][/nobbc] [b]Display by attachment id[b] [pdf=attach-1]Display the SECOND valid PDF attachment[/pdf] [b]APut PDF AUTO on aas the last PDF BBC tag[/b] [pdf=autodisplay] AUTO ON [/pdf] [hr] [color=maroon][size=15pt][listatt=Click on me to view the list of attachments][/listatt][/size][/color] [center][size=14pt][color=maroon]The LMV - Liteweight Markdown Viewer[/color][/size][/center] [warning] Version 3.0+ makes the common code MDBBC.php publically callable The stable version without auto-CSS installation is [color=green][u][b]lmv_bbcode_v2.2[/b][/u][/color]. The latest version with auto-CSS installation is [color=maroon][u][b]lmv_bbcode_v2.7[/b][/u][/color]. [color=beige][b]Both are compatible with SMF 2.0.x and 2.1.x[/b][/color] [u]Examples[/u] [b]Remote URL check:[/b] [lmv]https://forum.drugs-and-users.org/DEMO2.md[/lmv] -- remote URL [b]Attachment by DB ID 400.:[/b] [lmv=1] DB ID 400 [/lmv] -- attachment by DB ID [nobbc][lmv=0][/lmv][/nobbc] -- auto-detect (last .md attachment) [b]Attachment by id number 0:[/b] [lmv=unscroll-attach-00] unscrollablle 1st [/lmv] nth .md attachment on the post starting from 0 [b]Attachment by id number 1:[/b] [lmv=scroll-attach-01] scrollablle 2nd [/lmv] nth .md attachment on the post starting from 0 [b]Turn on autodisplay and override the ID and id numbers:[/b] [lmv=autodisplay] ON [/lmv] [nobbc][lmv=autodisplay] ON [/lmv][/nobbc] -- toggle automatic attachment display on [lmv=noautodisplay] OFF [/lmv] -- toggle automatic attachment display off [b]Display by attachment id[b] [pdf=attach-1]Display the second valid PDF attachment[/pdf] [lmv=scroll-inline] Session Checkpoint — 2026-08-07/08 ─── 1. PDFIndexer.py cron fix — DONE, confirmed working • Root cause: LOG_PATH/WORD_INDEX_PATH/PDF_STORE_PATH were relative paths (ISE_Data/...), which broke under cron's CWD (apache's home dir, not the script's directory) — PermissionError on os.makedirs(). • Fix: anchored all three paths to ISE_ROOT, mirroring IndexBuilder.py's existing (working) convention exactly — Path(__file__).resolve().parent.parent, overridable via an ISE_ROOT env var (confirmed not set anywhere on this box). • Tightened dev/live detection from a loose 192.168. prefix match to the exact dev IP (192.168.233.129). • Root cause: LOG_PATH/WORD_INDEX_PATH/PDF_STORE_PATH were relative paths (ISE_Data/...), which broke under cron's CWD (apache's home dir, not the script's directory) — PermissionError on os.makedirs(). • Fix: anchored all three paths to ISE_ROOT, mirroring IndexBuilder.py's existing (working) convention exactly — Path(__file__).resolve().parent.parent, overridable via an ISE_ROOT env var (confirmed not set anywhere on this box). • Tightened dev/live detection from a loose 192.168. prefix match to the exact dev IP (192.168.233.129). • Root cause: LOG_PATH/WORD_INDEX_PATH/PDF_STORE_PATH were relative paths (ISE_Data/...), which broke under cron's CWD (apache's home dir, not the script's directory) — PermissionError on os.makedirs(). • Fix: anchored all three paths to ISE_ROOT, mirroring IndexBuilder.py's existing (working) convention exactly — Path(__file__).resolve().parent.parent, overridable via an ISE_ROOT env var (confirmed not set anywhere on this box). • Tightened dev/live detection from a loose 192.168. prefix match to the exact dev IP (192.168.233.129). • Root cause: LOG_PATH/WORD_INDEX_PATH/PDF_STORE_PATH were relative paths (ISE_Data/...), which broke under cron's CWD (apache's home dir, not the script's directory) — PermissionError on os.makedirs(). • Fix: anchored all three paths to ISE_ROOT, mirroring IndexBuilder.py's existing (working) convention exactly — Path(__file__).resolve().parent.parent, overridable via an ISE_ROOT env var (confirmed not set anywhere on this box). • Tightened dev/live detection from a loose 192.168. prefix match to the exact dev IP (192.168.233.129). • Root cause: LOG_PATH/WORD_INDEX_PATH/PDF_STORE_PATH were relative paths (ISE_Data/...), which broke under cron's CWD (apache's home dir, not the script's directory) — PermissionError on os.makedirs(). • Fix: anchored all three paths to ISE_ROOT, mirroring IndexBuilder.py's existing (working) convention exactly — Path(__file__).resolve().parent.parent, overridable via an ISE_ROOT env var (confirmed not set anywhere on this box). • Tightened dev/live detection from a loose 192.168. prefix match to the exact dev IP [/lmv] [/warning]