start wiki-like features support for pages

This commit is contained in:
E. S. 2024-11-05 03:28:05 +03:00
parent d99fb2a934
commit 172dbcf7cb
2 changed files with 24 additions and 17 deletions

View File

@ -1,6 +1,6 @@
<?php <?php
const ROUTER_VERSION = 8; const ROUTER_VERSION = 9;
const ROUTER_MC_KEY = '4in1/routes'; const ROUTER_MC_KEY = '4in1/routes';
$RouterInput = []; $RouterInput = [];

View File

@ -6,14 +6,19 @@ return (function() {
$files_collections = array_map(fn(FilesCollection $fn) => $fn->value, FilesCollection::cases()); $files_collections = array_map(fn(FilesCollection $fn) => $fn->value, FilesCollection::cases());
$coll_with_folder_support = [FilesCollection::WilliamFriedman->value, FilesCollection::Baconiana->value]; $coll_with_folder_support = [FilesCollection::WilliamFriedman->value, FilesCollection::Baconiana->value];
$pagename_regex = '[a-zA-Z0-9-]+';
$wiki_root = 'notes';
$routes = [ $routes = [
'Main' => [ 'Main' => [
'/' => 'index', '/' => 'index',
'{about,contacts}/' => 'about', '{about,contacts}/' => 'about',
'feed.rss' => 'rss', 'feed.rss' => 'rss',
'([a-zA-Z0-9-]+)/' => 'page name=$(1)', '('.$pagename_regex.')/' => 'page name=$(1)',
$wiki_root.'/' => 'page name='.$wiki_root,
$wiki_root.'/('.$pagename_regex.')/' => 'page name='.$wiki_root.'/$(1)',
'articles/' => 'articles', 'articles/' => 'articles',
'articles/([a-zA-Z0-9-]+)/' => 'post name=$(1)', 'articles/('.$pagename_regex.')/' => 'post name=$(1)',
], ],
'Files' => [ 'Files' => [
'files/' => 'files', 'files/' => 'files',
@ -28,10 +33,12 @@ return (function() {
'Admin' => [ 'Admin' => [
'admin/' => 'index', 'admin/' => 'index',
'admin/{login,logout,log}/' => '${1}', 'admin/{login,logout,log}/' => '${1}',
'([a-zA-Z0-9-]+)/{delete,edit}/' => 'page_${1} short_name=$(1)', '('.$pagename_regex.')/{delete,edit}/' => 'page_${1} short_name=$(1)',
'([a-zA-Z0-9-]+)/create/' => 'page_add short_name=$(1)', '('.$pagename_regex.')/create/' => 'page_add short_name=$(1)',
$wiki_root.'/('.$pagename_regex.')/{delete,edit}/' => 'page_${1} short_name='.$wiki_root.'/$(1)',
$wiki_root.'/('.$pagename_regex.')/create/' => 'page_add short_name='.$wiki_root.'/$(1)',
'articles/write/' => 'post_add', 'articles/write/' => 'post_add',
'articles/([a-zA-Z0-9-]+)/{delete,edit}/' => 'post_${1} short_name=$(1)', 'articles/('.$pagename_regex.')/{delete,edit}/' => 'post_${1} short_name=$(1)',
'admin/markdown-preview.ajax' => 'ajax_md_preview', 'admin/markdown-preview.ajax' => 'ajax_md_preview',
'admin/{uploads,errors}/' => '${1}', 'admin/{uploads,errors}/' => '${1}',
'admin/{auth,actions}-log/' => '${1}_log', 'admin/{auth,actions}-log/' => '${1}_log',