2013-09-15 1 views
0

Я строю свой персональный веб-сайт, и я хочу сохранить на нем свои заметки о курсе. Мои заметки о курсе в настоящее время на бумаге, поэтому я буду их печатать. Я подумываю о сохранении каждого из моих курсов в собственном 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, какие у меня есть другие параметры?

Надеюсь, это не слишком субъективны ...

+0

См. Http://teach.github.com/articles/book-authoring-using-git-and-github/ –

ответ

2

Создание собственного веб-рамочное решение невероятно трудно. Изготовление чего-то визуально приятного, а также проверка правильности стандартов html - это огромная работа с нуля.

Что вы хотите, называется CMS или системой управления контентом. Это позволит вам сосредоточиться на своем контенте, а не на формате документа, в котором он будет храниться на сервере. Большинство CMS используют базы данных (такие как PostgreSQL или MySQL) для хранения их содержимого, а не файлов, расположенных в файловой системе.

Кроме того, вы заявляете, что будете использовать внутреннюю архитектуру XML-документов. Документы XML не имеют предопределенной иерархии, логической для форматирования документа. Это потребует определения структуры ваших документов, что будет довольно легко забыть или обойти, что приведет к некогерентным документам. Вы лучше используете язык, который уже сделан для таких документов (например, Markdown, Restructuredtext и т. Д.). Большинство этих языков смогут создавать html и pdf-документы с использованием своих конвертеров.

Чтобы начать с чего-то простого, вы должны начать с некоторого программного обеспечения wiki (например, these ones), которое может дать вам необходимую гибкость.

Другим решением было бы использовать программное обеспечение для построения документации, такое как Sphinx, которое построит вам весь сайт из источников реорганизованного источника. Многие другие генераторы документации доступны, вы должны проверить их.

Наименее, но не последний, полноценный веб-CMS, используя либо инструменты WYSIWYG (Typo3 или Joomla) или рамки (WordPress, Django, Ruby на Rails, и т.д.) позволит вам создавать веб-сайты сравнительно легко.

Если вы действительно хотите реализовать свой собственный веб-сайт/CMS, имейте в виду, что вам нужно будет создать систему, подобную моделированию. Это можно сделать с нуля с помощью интерфейсной системы для отображения HTML (например, bootstrap) или обработать шаблоны (например, Jinja2) в качестве представления, системы баз данных или необработанных файлов (например, XML) в качестве модели и контроллера, склеивающего предыдущие два вместе с языком программирования, который может быть выполнен веб-сервером (через CGI или другим лучшим способом, зависящим от используемого вами языка), таким как nginx, apache, lighttpd или тому подобное.