Closed mixalezhnev closed 2 years ago
@bespoyasov судя по всему, нужно искать в этом направлении https://mdxjs.com/advanced/transform-content
По сути где-то на уровне CI/CD получать из "mdx->md", а дальше конвертировать "md->pdf"
Посмотрел, пока не очень внимательно, но вроде, из этого действительно можно что-то соорудить :–)
Кажется, что было бы круто ещё убрать в PDF-версии всё лишнее типа тестов, «дизайн»-обвязки из меню, шапки и всего такого, оставив только контент.
@bespoyasov @dex157
Еще мне подумалось, что возможно более оптимальный подход: это создать отдельный репозиторий, содержащий только md
разметку, как раз без всего лишнего. И уже в нем нагенерить различные по размеру pdf
файлы.
Сами pdf
можно распространять через релизы гитхаба.
В принципе могу собрать альфа версию за вечер. Если есть одобрение, то дайте знать.
@taksenov проблема в том, что у нас не чистый md ) Он содержит разметку для тестов и тд. Если вычленить из mdx тесты и прочее вспомогательное, то нам где то нужно будет это обратно вставлять, в общем сложностей больше получится )
@dex157 да я изучил как устроен проект, и первое что мне пришло в голову это выделить md
из mdx
. Мне сначала показалось, что можноmd
"импортировать" в mdx
. Но в документации к mdx
отакой возможности ничего не сказано.
Из-за этого я предложил решение которо описал в данном комментарии https://github.com/open-tech-authors/solid/issues/140#issuecomment-581024518
Но как мне кажется, ковыряться с AST и все настраивать, может оказаться очень накладным по ресурсам.
Поэтому альтернативное решение
md
в файли в отдельный проектmd -> pdf
(на npm есть пакеты реализующие это)pdf
Как-то так мне видится решение создания книги именно в pdf
.
Минусы:
md
в отдельные файлы.pdf
, чтобы вносить правки. Тут возможно гитхаб предоставляет какие-то автоматизированные уведомления, но я этот вопрос не изучал.Мне это решение не нравится тем, что наши данные будут расходиться, появится необходимость править опечатки в 2 местах
@dex157 да я как раз отметил это как минус.
Это не по SOLID )
@bespoyasov @dex157 Ну тогда приглашайте, когда будете парсить AST созданный из md
. мне эта тема сейчас интересна.
Если, что в выходные попробую поиграться и спарсить AST. А вот дальше как с ним работать нужна будет помощь от вас.
@dex157 если что я в телегу напишу тебе.
@taksenov https://github.com/open-tech-authors/solid/blob/master/domain/typografy/reactChildren/index.ts тут я игался немного с ast mdx
Мне пока тоже не очень нравится идея хранить одинаковые данные в разных местах.
Вероятно, нам для MVP не потребуется удалять тесты со страниц. Мы можем их «пройти», выбрав все варианты и показав правильные и неправильные варианты ответов с описаниями под ними. Но я не уверен, что это будет проще, конечно. Если нет, то идею — в топку.
@taksenov, пригласил тебя в dev-чатик в телеге.
Идея хорошая. Какие для этого есть инструменты, подходы, способы?