Создание личных заметок в Albireo CMS

30-01-2026Время чтения ~ 5 мин.Albireo CMS 53

Создание личных заметок с помощью Albireo CMS очень простая задача. Я покажу, как можно это сделать за несколько минут.

Зачем это нужно?

Если вы привыкли пользоваться Obsidian'ом, то знаете, что каждая заметка это отдельный md-файл. При всем уважении к этой программе, Obsidian на дух не переносит другие форматы файлов. Например тот же php/css/html/js-файл можно спокойно нормально отобразить, поскольку это самый простой текст, но Obsidian упирается, считая его инородным...

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

Поэтому когда-то для Albireo CMS я сделал короткие заметки shorts, как раз для того, чтобы на сайте иметь свой личный набор заметок. «Коротышки» отлично с этим справляются, но не очень подходят для группировки записей.

Вместо них я покажу, как можно сделать произвольное хранилище заметок на сайте.

Структура каталога заметок

Для заметок есть смысл выделить отдельный каталог в pages (каталог записей), например пусть это будет notes. Внутри можно сделать любые другие подкаталоги, скажем у меня это: diary для простых заметок, examples для всяких примеров и experiments для всяких экспериментов.

Если нужно, то папок может быть сколько угодно и в любой иерархии. Адреса будут такого вида: notes/diary/2026-01-25_10-39-45. То есть имя файла и будет использоваться для slug.

При желании можно указать произвольный адрес. Это стандарт Albireo CMS.

Создание мастер-шаблона

Прямо в админ-панели для каталога _master сделайте новую страницу с именем notes. После этого в редакторе сохраните в таком виде:

<?php if (!defined('BASE_DIR')) exit('No direct script access allowed'); 
/**
title: %%DATE-NOW%%
date: %%DATE-NOW%%
file-page-data: notes.php
**/
?>

Это будет наш мастер-шаблон, который можно будет потом сразу указывать при создании своих заметок. Фрагмент %%DATE-NOW%% автоматически заменится на текущее время.

Создание page-data-файла

Мы указываем его как notes.php, где разместим все основные данные страниц. Для этого придется вначале создать файл, а потом его загрузить по ftp на сервер в каталог config/page-data:

<?php if (!defined('BASE_DIR')) exit('No direct script access allowed');

return [
    // тип страницы
    'type' => 'notes',
    
    // html в начале страницы
    'layout-content-start' => '<div class="mar5-t bg-primary100 dark:bg-primary800 pad5 rounded5 t-center"><a class="icon-arrow-right" href="[SITE_URL]notes">My notes</a></div>',
    
    // уровень доступа
    'user-level' => 'admin',
    
    // включим защиту доступа
    'no-user-access' => '+',
    
    // заголовок и служебная информация записи
    'extras.start[info1-header.php]' => '+',
    
    // подключаем шрифт
    'use.font[exo2]' => '+',
    
    // делаем его основным
    'css.root[body-font-family]' => '"Exo2"',
    
    // размер шрифта
    'css.root[body-size-base]' => '17px',
    
    // ограничим ширину контейнера
    'css.root[layout-max-width]' => '880px',
    
    // выбираем «чистый» шаблон
    'layout' => 'clean.php',
    
    // модульная сетка без полей
    'css.layout' => 'nofields.css',
    
    // запретим индексацию
    'head-meta[robots]' => 'noindex',
    
    // отключим лишнее
    'draft' => '-',
    'comments' => '-',
    'stat' => '-',
    'stat.page' => '-',
    'sitemap' => '-',
    'rss' => '-',
    'other-pages' => '-',
    'headers.pursuing' => '-',
    'no-prompts' => '+',
];

# end of file

После этого редактировать файл можно на странице «Config».

Создание заметок

Здесь стандартно: выбираем каталог, например notes/diary, по кнопкам-хелперам вставляем дату (или дату и время - всё равно). Выбираем наш мастер-шаблон.

Создание личной заметки

Всё, теперь есть ссылка для редактирования, жмём и пишем первую заметку. :-)

Просмотр всех заметок

Для удобства сделаем ещё одну служебную страницу, которая будет выводить все остальные заметки. Делаем файл-страницу notes/notes.php:

<?php if (!defined('BASE_DIR')) exit('No direct script access allowed');
/**

title: Мои заметки
slug: [subdirs-basename]
head-meta[robots]: noindex
type: system

user-level: admin
no-user-access: +

**/

$rows = getPages(
    limit: 30,
    where: 'draft = 0 AND type = :type',
    bindValue: [':type' => 'notes'], 
    );

if (!$rows['files']) {
    header('HTTP/1.0 404 Not Found');
    echo extras('not-found.php');
    return;
} else {
    echo tpl(data: $rows['files'], add: ['header' => getPageData('title'), 'nolang' => true], tpl: TPL_DIR . 'folders.php');
    echo tpl(data: $rows['pagination'], tpl: TPL_DIR . getConfig('pagination', 'pagination1.php'));
}

# end of file

Этот файл получает по 30 записей с типом notes (он у нас как раз и пишется для заметок). Дальше вывод через tpl-шаблонизатор с файлом folders.php — он здесь отлично подходит, но при желании вы можете взять любой другой шаблон вывода.

Автоматическое поле [subdirs-basename] будет заменено на имя текущего каталога. Поэтому если изменить имя, то страница автоматом его подхватит.

Теперь по адресу сайт/notes будут выводиться все ваши заметки.

Ограничение доступа

В notes мы ограничиваем доступ для всех, кроме «admin». За это отвечает поле user-level. Поле no-user-access используется для того, чтобы полностью заблокировать вывод страницы. Это новая возможность Albireo CMS.

Можно также использовать функцию noUserAccess(), но она ограничивает только вывод текста.

Итого

Создание системы личных заметок в Albireo CMS — это эффективная альтернатива сторонним приложениям вроде Obsidian. Основные преимущества такого подхода:

  • Гибкость форматов: в отличие от многих Markdown-редакторов, Albireo CMS корректно работает с любым кодом (PHP, HTML, JS).
  • Полный контроль: вы сами определяете структуру каталогов, дизайн через page-data и правила доступа.
  • Безопасность: благодаря встроенным механизмам проверки уровня доступа (user-level), ваши записи будут видны только вам.
  • Автоматизация: мастер-шаблоны и служебные страницы позволяют мгновенно создавать новые записи и удобно просматривать весь архив в одном месте.

В результате вы получаете защищённое, кастомизированное хранилище знаний, которое всегда доступно на вашем собственном сайте.

Похожие записи
Оставьте комментарий!