ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Category:

Проектирование программ онлайн

1. Тексты программ

Пока читал учебник Лафоре, тексты программ-примеров и тексты программ-решений упражнений выкладывал на очень популярный сейчас веб-сервис «GitHub» (далее — «Гитхаб»):
https://github.com/ilyachalov/lafore-book-examples

2. Диаграммы

В последней главе учебника рассказывается об этапах разработки объектно-ориентированного программного обеспечения. Здесь понадобилось составлять различные диаграммы, которые в документации могут быть перемешаны с текстом и таблицами.

Для составления диаграмм использовал вот этот сервис:
https://app.diagrams.net

Очень удобная и гибкая штука, рекомендую. Интерфейс там, кстати, можно и на русском языке настроить. Результат работы можно сохранять в разных форматах. Естественнее всего диаграммы, мне кажется, хранить в векторном виде (SVG), но я пока всё-таки остановился на растре (PNG). Примеры — ниже.

Диаграмма прецедентов:



Диаграмма классов:



В репозиториях (что это) «Гитхаба» при доступе из браузера растровые картинки нормально отображаются: диаграмма прецедентов, диаграмма классов.

3. Диаграммы, текст, таблицы в одном файле

Как видно из диаграммы прецедентов, показанной выше, в программе из упражнения только один прецедент. Но к диаграмме прецедентов должно прилагаться описание прецедентов. В этом описании могут встречаться простой текст, картинки (диаграммы) и таблицы.

HTML. «Ну, тут всё просто», — подумал я. Берем привычную связку HTML + CSS — и дело в шляпе. Быстро набросал файлик и выложил в репозиторий. Но оказалось, что в репозиториях «Гитхаба» файлы в формате HTML отображаются только в исходном тексте: вот пример.

Коллеги на Stackoverflow.com давным-давно накидали кучу способов это обойти:

https://stackoverflow.com/questions/8446218/how-to-see-an-html-page-on-github-as-a-normal-rendered-html-page-to-see-preview

https://stackoverflow.com/questions/6551446/can-i-run-html-files-directly-from-github-instead-of-just-viewing-their-source

Однако, все эти способы, мне кажется, неполноценны: у каждого найдется какой-нибудь минус. Корень проблемы, как я понимаю, в том, что создатели «Гитхаба» концептуально не желают давать пользователю такую возможность. Для хостинга сайтов можно пользоваться функцией «Гитхаба» — «GitHub Pages» (https://pages.github.com): репозиторий со страницами сайта будет доступен по адресу username.github.io. Но мне-то нужно опубликовать всего лишь один файл, а не весь репозиторий. Поэтому рассмотрим альтернативы.

PDF. Из имеющегося файла в формате HTML очень легко создать файл в формате PDF — для этого достаточно открыть страничку HTML в браузере и отправить ее на печать (по крайней мере, это работает в браузерах на основе «Chromium»). В диалоге печати нужно выбрать «сохранить как PDF». В репозитории «Гитхаба» файл в формате PDF отображается нормально: вот пример.

Далеко не любая страница HTML преобразуется в PDF «один в один». Но с картинками, текстом и простыми таблицами проблем быть не должно. Это можно проверить по только что приведенной выше ссылке.

Markdown (что это). Этот вариант, как я понимаю, и предполагается создателями «Гитхаба» к использованию для названных целей (публикация картинок, текста и таблиц в одном файле). Я переписал упомянутый выше файл в формате HTML на «Маркдауне» (расширение файла .md), в репозитории «Гитхаба» он отображается хорошо: вот пример.

Получилось неплохо. Но мне связка HTML + CSS нравится больше: она мощнее и гибче, чем «Маркдаун». «Маркдаун» — это же просто какой-то довольно примитивный обрезок из HTML. К тому же, браузеры есть практически у всех, а парсер «Маркдауна» у клиента запросто может отсутствовать и если он скачает архив с файлами с «Гитхаба», то испытает затруднения с просмотром описания прецедентов на «Маркдауне».
Tags: Инструмент, Образование, Программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments