Add the Chronological
This commit is contained in:
54
README.md
54
README.md
@@ -28,6 +28,7 @@ luxtools provides DokuWiki syntax that:
|
||||
- Embeds file-backed scratchpads with a minimal inline editor (no wiki revisions)
|
||||
- Links a page to a media folder via a UUID (.pagelink), enabling a `blobs/` alias
|
||||
- Adds a Page ID download link in the page info area to fetch a `.pagelink` file
|
||||
- Renders a basic calendar widget with clickable day links to chronological pages
|
||||
|
||||
It also ships a small file-serving endpoint (`lib/plugins/luxtools/file.php`) used
|
||||
to deliver files and generate cached thumbnails.
|
||||
@@ -49,6 +50,13 @@ If you install this plugin manually, make sure it is installed in:
|
||||
|
||||
If the folder is called differently, DokuWiki will not load it.
|
||||
|
||||
This plugin uses Composer dependencies shipped inside `vendor/`.
|
||||
If dependencies are missing in your local checkout, run:
|
||||
|
||||
```bash
|
||||
php composer.phar install
|
||||
```
|
||||
|
||||
|
||||
## Project structure (developer notes)
|
||||
|
||||
@@ -149,6 +157,20 @@ Key settings:
|
||||
URL of a local client service used by `{{open>...}}` and directory links.
|
||||
See luxtools-client.
|
||||
|
||||
- **image_base_path**
|
||||
Base filesystem path used for chronological photo integration.
|
||||
On canonical day pages (`chronological:YYYY:MM:DD`), files that start with
|
||||
`YYYY-MM-DD` are listed automatically.
|
||||
If a yearly subfolder exists (for example `.../2026/`), it is preferred.
|
||||
|
||||
- **calendar_ics_files**
|
||||
Local calendar `.ics` files (one absolute file path per line).
|
||||
Events are parsed by `sabre/vobject` and shown on matching chronological day pages.
|
||||
Recurrence and exclusions from the ICS are respected. For timed entries, the
|
||||
page stores the original timestamp and renders the visible time in the
|
||||
browser's local timezone.
|
||||
Multi-day events appear on each overlapping day.
|
||||
|
||||
- **pagelink_search_depth**
|
||||
Maximum directory depth for `.pagelink` discovery under each configured root.
|
||||
`0` means only the root directory itself is checked.
|
||||
@@ -246,6 +268,38 @@ for example:
|
||||
{{directory>blobs/&recursive=1}}
|
||||
```
|
||||
|
||||
### 0.3) Calendar widget
|
||||
|
||||
Render a basic monthly calendar that links each day to canonical chronological pages:
|
||||
|
||||
```
|
||||
{{calendar>}}
|
||||
{{calendar>2024-10}}
|
||||
```
|
||||
|
||||
Notes:
|
||||
|
||||
- `{{calendar>}}` renders the current month.
|
||||
- `{{calendar>YYYY-MM}}` renders a specific month.
|
||||
- Day links target `chronological:YYYY:MM:DD`.
|
||||
- Header month/year links target `chronological:YYYY:MM` and `chronological:YYYY`.
|
||||
- Prev/next month buttons update the widget in-place without a full page reload.
|
||||
- Month switches fetch server-rendered widget HTML via AJAX and replace only the widget node.
|
||||
|
||||
### 0.4) Virtual chronological day pages
|
||||
|
||||
When a canonical day page (for example `chronological:2026:02:13`) does not yet
|
||||
exist, luxtools renders a virtual page in normal show mode instead of the
|
||||
default "page does not exist" output.
|
||||
|
||||
The virtual page includes:
|
||||
|
||||
- a German-formatted heading (for example `Freitag, 13. Februar 2026`)
|
||||
- matching local calendar events from configured `.ics` files (when available)
|
||||
- matching day photos (via existing `{{images>...}}` rendering) when available
|
||||
|
||||
The page is only created once you edit and save actual content.
|
||||
|
||||
### 1) List files by glob pattern
|
||||
|
||||
The `{{directory>...}}` syntax (or `{{files>...}}` for backwards compatibility) can handle both directory listings and glob patterns. When a glob pattern is used, it renders as a table:
|
||||
|
||||
Reference in New Issue
Block a user