Yon Yonson

Книга в Markdown: Автоматическая сборка статического сайта mdBook и файла DOCX с оформлением по ГОСТ

Текст книг, учебных пособий, научно-технических статей, документации, дипломных и курсовых работ часто набирается и редактируется в WYSIWYG-редакторе, таком как Microsoft Word, в том числе вследствие того, что издательства и организации требуют от авторов оформленный по ГОСТ или внутренним стандартам docx-документ. Процесс работы в Microsoft Word и аналогичных редакторах не лишён недостатков: docx-файлы трудно версионировать в git, а для объединения нескольких документов в один придётся перенумеровывать источники, рисунки, таблицы, формулы. Альтернативой docx является LaTeX. Однако работа со стилями в LaTeX простотой и минималистичным синтаксисом не отличается , причём издательства от использования формата docx отказываться не торопятся. А инструменты в духе typst отличаются нестандартным синтаксисом языка для описания документов, причём возможность генерации сайтов в typst имеет пометку «in preview». Markdown — популярный и удобный язык разметки, но это также и очень ограниченный формат. Поэтому задача написания в Markdown сложной технической документации по ГОСТ, научной статьи с автоматической настройкой оформления для заданного издательства или хорошо оформленного онлайн-учебника может показаться неосуществимой. В этой статье рассмотрим способ работы над научно-техническими статьями и книгами в формате Markdown на основе подхода Docs as Code с учётом строгих ограничений на оформление, используемый Петром Советовым @true-grue и мной при подготовке учебных материалов в РТУ МИРЭА. Способ заключается в применении утилиты pandoc для построения дерева абстрактного синтаксиса (AST) Markdown-документа с последующим переписыванием AST набором фильтров на Lua и трансляцией AST в форматы docx и pdf, соответствующие ГОСТ, а также в диалект markdown, совместимый с mdBook , для генерации онлайн-учебника в виде статического сайта. Исходный код книги , написанной с использованием описанного в статье подхода, опубликован на GitHub.

https://habr.com/ru/articles/987982/

#pandoc #markdown #lua #python #документирование #гост #docx #graphviz #mdbook #github

Книга в Markdown: Автоматическая сборка статического сайта mdBook и файла DOCX с оформлением по ГОСТ

Текст книг, учебных пособий, научно-технических статей, документации, дипломных и курсовых работ часто набирается и редактируется в WYSIWYG-редакторе, таком как Microsoft Word, в том числе вследствие...

Хабр

Having the freedom to chose my work environment on the computer, I move more and more tasks to Emacs recently, like running terminal windows with https://codeberg.org/harald/terminal-frame . Another pet of mine is my python build system: https://codeberg.org/harald/pythonbuilder

The latter can produce a nice SVG graph, using #graphviz, of the dependency tree of the build setup.

And should I forget which targets the build has, it is just a C-x C-f dependencies.svg away to see that graph.😀

#emacs #terminal_frame #pythonbuilder

terminal-frame

Dedicated terminal frame for Emacs' M-x shell

Codeberg.org

@andre_ourednik
I thought you would enjoy that what I've spent most of my time since May 11, 2019 has been working on something that I called Ouroboros Tree. There are some domain intersects with your use as well. I focus, now, on an extremely simple data and material flow ontology (w3id.org/dfd+material with similar s-p-o)

I found you via #D3, as I adorn my nodes after running through #Graphviz (HPCC's WASM version).

https://orng.org/#art857

O.R.N.G. Journal/Fiction/Documentation

Fiction and Journal entries from 1990 through 2024, including memories back to 1970, as well as web articles covering electronics, computers, coding, wrenching, and cooking

I often attempt to do things I don't have to, in order to prove I understand. For instance, right now I generate the nodes with #Graphviz and adorn them with #D3. I wrote a library that does this for shared graphics, but there is no reason to do this for the key. Scraped inference is irrelevant.

On day 11, both parts were quite simple: counting paths required a DFS with cache.

On part 2, the cache was different… unless one had an epiphany to solve it using part 1 because the input graph was a Direct-Acyclic-Graph: therefore ensuring one of fft->dac or dac->fft would have no paths; the solution would be paths(svr->fft)×paths(fft->dac)×paths(dac->out).

Yet I did not think of this, and that's despite using the first minutes actually plotting the input:

#AdventOfCode #dot #graphviz

LaNet is a high-performance Python network visualization package using k-core decomposition. Reveals hierarchical structure from peripheral nodes to dense cores in networks with millions of nodes. https://github.com/conexdat/LaNet-vi?tab=readme-ov-file
#GraphViz #Dataviz #Graphs
SpiderMonkey 團隊弄出來的 iongraph

這篇是 SpiderMonkey 的團隊在不滿意 Graphviz (看起來是 dot) 而自己寫的版本:「Who needs Graphviz when you can build it yourself? (via)」。 目前常見的軟體在呈現 DOT 圖的時候都會遇到類似的問題:圖片的穩定性不太夠。 常常改了一個小地方後,整個輸出就有機會大變動,這點我之前在弄的時候有也發現: The first problem is that the Graphviz output rarely bears any r...

Gea-Suan Lin's BLOG
Who needs #Graphviz when you can wrestle with #JavaScript and summon the Graphviz gods yourself? 🕷️✨ Apparently, #reinventing #wheels is the new black, because why use a perfectly good tool when you can spend eons building something that might almost work! 🙃🔧
https://spidermonkey.dev/blog/2025/10/28/iongraph-web.html #programming #humor #HackerNews #ngated
Who needs Graphviz when you can build it yourself?

Exploring a new layout algorithm for control flow graphs.

SpiderMonkey JavaScript/WebAssembly Engine
Who needs Graphviz when you can build it yourself?

Exploring a new layout algorithm for control flow graphs.

SpiderMonkey JavaScript/WebAssembly Engine