Лучший способ хранить заметки курса / текст среднего размера в цифровом виде - должен быть: эффективным, легко отображаться в Интернете, гибким
Я создаю свой личный веб-сайт и хочу на нем хранить свои заметки о курсах. Мои заметки о курсе в настоящее время на бумаге, поэтому я буду печатать их. Я думаю о том, чтобы сохранить каждый из моих курсов в своем собственном XML-файле со структурой, которая выглядит следующим образом: тире представляют собой теги, игнорируя числа.
COURSE1.XML
-Title -Topic 1
- Sub Topic 1.1
- Multimedia link
- Code link
- Actual Text
- Sub Topic 1.2
...
- Topic 2
...
Моя идея веб-сайта заключается в том, что если пользователь нажимает на ссылку курса 1, то моя программа обнаружит, что XML анализирует ее и отображает ее содержимое.
My Requirements:
- Must be able to display on web sites
- Parsing should be fast
- In the future I might do other things so I want something that is flexible.
Является ли использование XML для этого хорошим дизайнерским решением? Или я могу сделать лучше? Если XML является хорошим дизайнерским решением: должен ли я остаться с моим текущим дизайном 1 XML на курс или иметь папку для курса и иметь 1 XML для каждой темы? Кроме XML, какие еще есть варианты?
Надеюсь, это не слишком субъективно...
1 ответ
Создать собственное решение для веб-фреймворка невероятно сложно. Создание чего-то, что является визуально приятным, а также подтверждает стандарты HTML - это огромный объем работы с нуля.
То, что вы хотите, называется CMS или системой управления контентом. Это позволит вам сконцентрироваться на своем контенте, а не на формате документа, в котором он будет храниться на сервере. Большинство CMS используют базы данных (такие как PostgreSQL или MySQL) для хранения своего содержимого, а не файлов, расположенных в файловой системе.
Кроме того, вы заявляете, что будете использовать внутреннюю архитектуру XML-документов. XML-документы не имеют предопределенной иерархии, логичной для форматирования документа. Это потребует определения структуры ваших документов, которую будет легко забыть или обойти, что приведет к непоследовательности документов. Вам лучше использовать язык, который уже сделан для таких документов (например, Markdown, Restructuredtext и т. Д.). Большинство из этих языков смогут создавать HTML и PDF документы с использованием их конвертеров.
Чтобы начать с чего-то простого, вы должны начать с некоторого программного обеспечения вики (например, такого), которое может дать вам необходимую гибкость.
Другим решением будет использование программного обеспечения для создания документации, такого как Sphinx, которое создаст вам весь веб-сайт из реструктурированных источников текста. Многие другие генераторы документации доступны, вы должны проверить их.
Наименее, но не последний, полноценная веб-CMS, использующая либо инструменты WYSIWYG ( Typo3 или Joomla), либо фреймворки (wordpress, Django, Ruby on Rails и т. Д.), Позволит вам создавать сайты относительно легко.
Если вы действительно хотите реализовать собственную структуру веб-сайта / CMS, имейте в виду, что вам нужно будет создать систему, подобную контроллеру модели. Это можно сделать с нуля, используя интерфейсную систему для отображения HTML (например, начальной загрузки) или обработки шаблонов (например, Jinja2) в качестве представления, системы баз данных или необработанных файлов (например, XML) в качестве модели и контроллера, склеивающего два предыдущих. вместе на языке программирования, который может быть выполнен веб-сервером (через CGI или другим лучшим способом, зависящим от языка, который вы используете), таким как nginx, apache, lighttpd или тому подобное.