Выбор CMS для записной книжки
Оглавление
Варианты сайтов
Давайте подумаем, какие есть варианты сайтов.
- По принадлежности.
- Чужой сайт.
- Свой сайт.
- Чужой сайт это.
- Платформы для блогеров (livejournal, blogspot).
- Социальные сети (vtentakle, facebook).
- Хранилища проектов (sourceforge, github).
- Свой сайт.
- Динамический
CMS (wordpress, joomla). - Статический генератор (jekyll, asciidoctor).
- Ручной ввод (html, css).
- Динамический
- Минусы чужого сайта:
- Низкий уровень контроля.
- Могут удалить записи.
- Минусы динамического сайта:
- Нужно устанавливать обработчик скриптов на сервер.
- Дополнительные усилия на обслуживание CMS (обновления, плагины, кастомизация).
- Нужно устанавливать базу данных на сервер.
- Дополнительные усилия на обслуживание базы данных (бекапы, целостность).
- Минусы статического генератора:
- Низкий уровень контроля.
- Изучение дополнительного синтаксиса.
- Совместное редактирование ограничено.
- Минусы ручного ввода:
- Сложнее использовать повторные элементы.
- Совместное редактирование ограничено.
- Теперь о главных плюсах сайтов:
- Динамический: совместное редактирование.
- Статический генератор: повторное использование элементов.
- Статический ручной: абсолютный контроль над вёрсткой.
У статических сайтов ещё есть преимущество в скорости работы, так как им не нужно генерировать данные на лету как у динамических сайтов.
А ещё есть всякие Zim’ы и прочие менеджеры заметок. Их минус в том, что они не дают абсолютного контроля как при наборе заметок, так и их преобразовании в html, а так же сам софт может работать коряво.
Навигация по сайту
Лично я двигаясь годами от динамических cms, до статических генераторов и ручного набора пришёл к выводу, что для записной книжки лучше подойдёт ручной набор html+css.
Так же наткнулся на мнение совпадающее с моим, Преимущество книги перед блогом или улучшаем свой блог. Впрочем оно мне не помогло, потому что уже совпадало с придуманной и реализованной мною структурой.
Выглядеть шаблон должен примерно так, хотя элементы могут быть смещены.
"логотип "название
сайта" сайта"
"панель навигации"
"строка навигации"
"содержимое"
...
Более конкретный пример
МС "Мой Сайт"
Главная | Проекты | ru | en
> Главная
Главная страница
Оглавление
Тема
-Подтема
--Подтема
---Статья
---Статья
-Подтема
--Статья
-Подтема
--Подтема
---Статья
---Статья
---Статья
--Подтема
---Статья
---Статья
Суть в том, чтобы записать на главной почти что всё, то есть по факту это карта сайта. Исключение то, что находится в панели навигации, хотя это тоже не обязательно.
Вне зависимости от количества уровней оглавления хранить темы нужно используя двухуровневое вложение папок. Я бы, конечно, голосовал за одноуровневое, но равномерное двухуровневое, где первый уровень 1000 папок и второй уровень 1000 позволит увеличить их количество до 1000’000 папок.
А вот больше вложений сделает только хуже, так как двухуровневое и так уже компромиссный вариант. Причём у папок первого уровня нет страницы index.html, так как всё оглавление на главной странице сайта.
-папка
--подпапка
---index.html
--подпапка
---index.html
-папка
--подпапка
---index.html
--подпапка
---index.html
-папка
--подпапка
---index.html
index.html
Высоко структурированные страницы сайта
- Следующим пунктом идёт структурирование страниц сайта.
- Низко структурированные страницы сайтов.
Это обычные блоги, где пользователь пишет текст деля его на абзацы. По сути это тоже самое как оформляются книги. - Высоко структурированные страницы сайтов.
Каждая страница подвергается структуризации с помощью оглавления точно так же как главная страница. Можно ссылаться на заголовки внизу страницы или подстраницы. Подстраницы должны лежать в подпапке со страницей index.html.
- Низко структурированные страницы сайтов.
Так же нужно избегать писать предложения, а вместо них использовать списки подобные оглавлению. Упорядочивать можно по назначению, но какой бы способ не использовался, он должен позволять быстро найти и применить информацию.
Если сравнивать с книгой, то сайт нужно структурировать не только по главам, где каждая глава это страница, но и по всему тексту включая сами страницы. Структурируемые данные могут быть какими-либо готовыми решениями, списками каких-либо элементов и многим другим.
Итоги
Время идёт и мысли меняются. В данной заметке рассказывается о моих текущих идеях и реализациях по созданию записной книжки, которая не потеряется со временем и будет хранить собственные мысли по различным темам в одном месте. Насколько живуча эта идея покажет время.
Двухуровневое оглавление
Предположим нужно создать многоуровневое оглавление с любой степенью вложенности.
категория1
-категория2
--понятие1
--понятие2
-категория3
--понятие3
--понятие4
- Но делать это на html используя заголовки было бы неудобно потому что:
- Плохо воспринимается оглавление, легко запутаться в уровнях.
В большой степени это так же верно для документов и таблиц офисных пакетов. - У html только шесть заголовков h1-h6.
Первый используется под заголовок страницы и «их осталось пять».
Шесть негритят пошли на пасеку гулять,
Одного ужалил шмель, их осталось пять. - Пользователь может в любой момент захотеть изменить уровни вложения.
Но для этого нужно приложить массу усилий для согласования с текущими уровнями.
- Плохо воспринимается оглавление, легко запутаться в уровнях.
Решение использовать двухуровневое оглавление для многоуровневого.
категория1 - категория2
-понятие1
-понятие2
категория1 - категория3
-понятие3
-понятие4
Таким образом можно легко менять как названия категорий, так и уровней. А перенос категорий в другое место не составит проблем, потому что будет производиться целым блоком без изменения реальных уровней оглавления.
Пример двухуровневого оглавления
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Заголовок</title>
</head>
<body>
<article>
<h1>Заголовок</h1>
<h2>Содержание</h2>
<ol>
<li>
<a href="#toc-cat1-cat2">категория1 - категория2</a>
<ol>
<li><a href="#toc-concept1">понятие1</a></li>
<li><a href="#toc-concept2">понятие2</a></li>
</ol>
</li>
<li>
<a href="#toc-cat1-cat3">категория1 - категория3</a>
<ol>
<li><a href="#toc-concept3">понятие3</a></li>
<li><a href="#toc-concept4">понятие4</a></li>
</ol>
</li>
</ol>
<h2 id="toc-cat1-cat2">категория1 - категория2</h2>
<br><br><br><br><br><br><br><br><br><br>
<h3 id="toc-concept1">понятие1</h3>
<br><br><br><br><br><br><br><br><br><br>
<h3 id="toc-concept2">понятие2</h3>
<br><br><br><br><br><br><br><br><br><br>
<h2 id="toc-cat1-cat3">категория1 - категория3</h2>
<br><br><br><br><br><br><br><br><br><br>
<h3 id="toc-concept3">понятие3</h3>
<br><br><br><br><br><br><br><br><br><br>
<h3 id="toc-concept4">понятие4</h3>
<br><br><br><br><br><br><br><br><br><br>
</article>
</body>
</html>
Использовать <br> не рекомендуется, они здесь лишь для грубой имитации содержимого.
Так же не забываем про валидацию validator.w3.org.
Document checking completed. No errors or warnings to show.
Символы разделения иерархии
- В данном случае было использовано тире, но какие ещё есть варианты:
- Косая черта «/».
- Обратная косая черта «\».
- Двоеточие «:».
- И так далее.
На сегодня всё. По вопросам и предложениям обращаться в комментариях ниже.
Литература
- Публикации
- Википедия
- Статьи