minimedit.git
2 years agoissue/activity: contents after paragraph cut v5.3
Mischa POSLAWSKY [Thu, 20 May 2021 23:04:05 +0000 (01:04 +0200)]
issue/activity: contents after paragraph cut

Trailing newline added by recent formatting.
Also validate html by keeping element close.

2 years agowidget/reply: ignore missing user object
Mischa POSLAWSKY [Sat, 15 May 2021 21:53:15 +0000 (23:53 +0200)]
widget/reply: ignore missing user object

Fix include without site setup for testing.

2 years agowidget/reply: formatting syntax for unordered lists
Mischa POSLAWSKY [Sat, 15 May 2021 21:51:24 +0000 (23:51 +0200)]
widget/reply: formatting syntax for unordered lists

More complicated block formatting replacing paragraphs by list items.
Keep to consecutive regular expressions and html herding while possible
instead of complicated code nesting or parsers.

2 years agowidget/reply: formatting syntax for ~strike~ and `code`
Mischa POSLAWSKY [Sat, 15 May 2021 21:51:02 +0000 (23:51 +0200)]
widget/reply: formatting syntax for ~strike~ and `code`

Remaining inline options in common chat systems.

2 years agowidget/reply: emphasis formatting over sentences
Mischa POSLAWSKY [Sat, 15 May 2021 20:18:54 +0000 (22:18 +0200)]
widget/reply: emphasis formatting over sentences

Fix boundaries and contents besides simple words.

2 years agowidget/reply: formatting syntax for <links>
Mischa POSLAWSKY [Fri, 14 May 2021 15:26:40 +0000 (17:26 +0200)]
widget/reply: formatting syntax for <links>

Recognise common <url> notation (as in Markdown), extended for optional link
names after pipe (as in Slack) or whitespace (assuming escaped in urls).

2 years agowidget/reply: formatting syntax for *bold*
Mischa POSLAWSKY [Fri, 14 May 2021 15:20:38 +0000 (17:20 +0200)]
widget/reply: formatting syntax for *bold*

Common chat format but unlike more complicated Markdown **doubling**.

2 years agowidget/reply: formatting syntax for _italics_
Mischa POSLAWSKY [Fri, 14 May 2021 14:59:48 +0000 (16:59 +0200)]
widget/reply: formatting syntax for _italics_

Single underscores for emphasis, as in mail, chat, and Markdown.
Do not cater to advanced usage like partial highlights inside words and
escapes (neither do whatsapp and slack for example); admins can use html
if really needed.

2 years agowidget/reply: paragraph breaks on input lines unless trailing spaces
Mischa POSLAWSKY [Fri, 14 May 2021 14:18:09 +0000 (16:18 +0200)]
widget/reply: paragraph breaks on input lines unless trailing spaces

Expect stories not poems, so hard line breaks should rarely be intended.
Exceptions are possible using Markdown syntax of trailing whitespace.

2 years agowidget/reply: save raw message input before formatting
Mischa POSLAWSKY [Mon, 26 Apr 2021 16:19:33 +0000 (18:19 +0200)]
widget/reply: save raw message input before formatting

Prepare for upcoming conversion (errors) and possible debugging.

Restructure earlier posts:

ALTER TABLE comments ADD raw text;
UPDATE comments SET raw = regexp_replace(regexp_replace(raw,
'<br />|<\/?p>', '', 'g'),
E'\n?<img src="/thumb/640x(/.*)" />', E'\n\\1', 'g');

2 years agowidget/reply: lazy image loading in html5
Mischa POSLAWSKY [Fri, 9 Apr 2021 04:29:03 +0000 (06:29 +0200)]
widget/reply: lazy image loading in html5

Indicate BTF images are optional (assume the first two are visible),
to reduce bandwidth for quick peeks.

Supported in FF 75+ and Chrome 77+ (no Safari yet) but not important enough
to bother with javascript complexity.

2 years agopage: indicate repost status in http redirects
Mischa POSLAWSKY [Mon, 22 Feb 2021 00:37:15 +0000 (01:37 +0100)]
page: indicate repost status in http redirects

Replace generic status 302 by specific HTTP2 options.
In particular prevent unrelated posts after login.

2 years agopage: referrer policy to include details cross-origin
Mischa POSLAWSKY [Thu, 4 Feb 2021 01:31:48 +0000 (02:31 +0100)]
page: referrer policy to include details cross-origin

Default recently changed to strict-origin-when-cross-origin which hides path
details in Referer.  Disagree about this "security" and rather keep the page
information for external sites.

2 years agoissue/activity: prevent abbreviation of subsequent images
Mischa POSLAWSKY [Thu, 6 May 2021 17:19:22 +0000 (19:19 +0200)]
issue/activity: prevent abbreviation of subsequent images

Fix cropped image after multiple paragraphs.

2 years agofoto: api directory modification headers
Mischa POSLAWSKY [Tue, 4 May 2021 17:01:33 +0000 (19:01 +0200)]
foto: api directory modification headers

Report presence and date to reduce dashboard bandwidth,
with minimal cache-control to avoid dynamic caching.

3 years agoissue/activity: append related image to subsequent message
Mischa POSLAWSKY [Sun, 2 May 2021 18:21:29 +0000 (20:21 +0200)]
issue/activity: append related image to subsequent message

Prefer attribution of significant message instead of preceding images.

3 years agoissue/activity: only concatenate messages after images
Mischa POSLAWSKY [Tue, 27 Apr 2021 19:51:34 +0000 (21:51 +0200)]
issue/activity: only concatenate messages after images

Fix cascading floats in mixed threads.

3 years agoissue/activity: concatenate similar replies
Mischa POSLAWSKY [Tue, 27 Apr 2021 18:43:52 +0000 (20:43 +0200)]
issue/activity: concatenate similar replies

Omit title for unchanged ticket and author,
causing stacked images from different messages.
Don't bother with closing <dd> for simplicity.

3 years agoissue/activity: format replies for dashboard
Mischa POSLAWSKY [Tue, 27 Apr 2021 18:37:24 +0000 (20:37 +0200)]
issue/activity: format replies for dashboard

Cut consecutive paragraphs (similar to news feed)
and move images right to take less space.

3 years agofoto: translate tag album requests to .tag
Mischa POSLAWSKY [Tue, 27 Apr 2021 15:03:15 +0000 (17:03 +0200)]
foto: translate tag album requests to .tag

Hidden from overviews but accessible without dot.

3 years agofoto: json client requests serve directory api
Mischa POSLAWSKY [Thu, 31 Dec 2020 13:35:32 +0000 (14:35 +0100)]
foto: json client requests serve directory api

Requested album links as js array (in subarrays to allow future metadata
addition) for use by dashboard page.

3 years agonieuws: indicate abbreviated teaser contents
Mischa POSLAWSKY [Tue, 27 Apr 2021 14:41:44 +0000 (16:41 +0200)]
nieuws: indicate abbreviated teaser contents

In story text is not identical, advertise where to find more details.
Assumes an external non-interactive display for now.

3 years agonieuws: widget option for teaser preference
Mischa POSLAWSKY [Tue, 27 Apr 2021 14:34:54 +0000 (16:34 +0200)]
nieuws: widget option for teaser preference

Replace RSS feed requirement on dashboard to get short paragraphs.

3 years agopage: omit editing <div> container for xml response
Mischa POSLAWSKY [Tue, 27 Apr 2021 01:03:11 +0000 (03:03 +0200)]
page: omit editing <div> container for xml response

3 years agoissue/activity: ungrouped select, persistent titles
Mischa POSLAWSKY [Tue, 20 Apr 2021 15:49:59 +0000 (17:49 +0200)]
issue/activity: ungrouped select, persistent titles

Revert to author headers and simple chronological display.

3 years agoissue/activity: author footer below messages
Mischa POSLAWSKY [Sat, 16 Jan 2021 14:23:04 +0000 (15:23 +0100)]
issue/activity: author footer below messages

Dashboard styling for small citations.

3 years agoissue/activity: ignore missing author
Mischa POSLAWSKY [Tue, 12 Jan 2021 04:46:17 +0000 (05:46 +0100)]
issue/activity: ignore missing author

Silence PHP warnings for system (eg p2000) notifications.

3 years agologin/commits: syntax highlighting of diff lines
Mischa POSLAWSKY [Fri, 15 Jan 2021 17:41:47 +0000 (18:41 +0100)]
login/commits: syntax highlighting of diff lines

Parse chunks returned by git's porcelain word diffing interface,
formatting old/new columns similar to split github commit output.
Ignore strict line numbers in favour of minimal text comparison.

3 years agologin/commits: git show of hash parameter
Mischa POSLAWSKY [Fri, 15 Jan 2021 09:24:40 +0000 (10:24 +0100)]
login/commits: git show of hash parameter

Link overview to further details, currently unformatted.

3 years agologin/list: ignore symlinks in profile directory
Mischa POSLAWSKY [Fri, 15 Jan 2021 11:26:38 +0000 (12:26 +0100)]
login/list: ignore symlinks in profile directory

Assume links to directories are aliases to be hidden.

3 years agoupload: disallow overwrites of existing file names
Mischa POSLAWSKY [Wed, 7 Apr 2021 15:37:36 +0000 (17:37 +0200)]
upload: disallow overwrites of existing file names

Not a solution for reusing the same name, but prevents silent replacement
allowing the user to retry.

Reported-by: Fulco Jongsma
3 years agopage: ignore missing accept header in api detection
Mischa POSLAWSKY [Mon, 29 Mar 2021 23:21:37 +0000 (01:21 +0200)]
page: ignore missing accept header in api detection

Silence PHP warnings for some [robot] requests.

3 years agoissue: secure against external form submissions v5.2
Mischa POSLAWSKY [Mon, 22 Feb 2021 00:46:44 +0000 (01:46 +0100)]
issue: secure against external form submissions

Ignore api requests (preview from (failed) login),
and require subject field to be sure.

Fixes empty issues after failed logins.

3 years agologin/mailpass: case-insensitive match of requested address
Mischa POSLAWSKY [Mon, 8 Mar 2021 18:10:26 +0000 (19:10 +0100)]
login/mailpass: case-insensitive match of requested address

3 years agowidget/reply: identify subject changes
Mischa POSLAWSKY [Wed, 24 Feb 2021 09:47:18 +0000 (10:47 +0100)]
widget/reply: identify subject changes

3 years agowidget/reply: link non-image uploads instead
Mischa POSLAWSKY [Thu, 25 Feb 2021 13:08:27 +0000 (14:08 +0100)]
widget/reply: link non-image uploads instead

3 years agositemap.xml: fix access to searched page objects
Mischa POSLAWSKY [Sat, 6 Feb 2021 23:28:58 +0000 (00:28 +0100)]
sitemap.xml: fix access to searched page objects

Broken since commit v4.5-30-gee9702f9ff (2020-12-21)
[page: search results as article objects].

3 years agocontact: save email contents to log file
Mischa POSLAWSKY [Tue, 8 Jan 2019 23:32:17 +0000 (00:32 +0100)]
contact: save email contents to log file

Backup in case of undelivered or otherwise lost messages.

3 years agowidget/contact: client ip address in received mail header
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:35:41 +0000 (00:35 +0100)]
widget/contact: client ip address in received mail header

Do not record technical identification in message body, instead emulate as
mail sender hidden for common consumption.

3 years agowidget/contact: reduce code indentation of post check
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:13:59 +0000 (00:13 +0100)]
widget/contact: reduce code indentation of post check

Minor code cleanup.

3 years agopage: url encode widget attributes
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:43:03 +0000 (00:43 +0100)]
page: url encode widget attributes

Support spaces and delimiters in values, such as spaces in contact addresses.

3 years agowidget/contact: subject and recipient address from call options
Mischa POSLAWSKY [Mon, 25 Jan 2021 22:55:24 +0000 (23:55 +0100)]
widget/contact: subject and recipient address from call options

Custom variables instead of hardcoding each case.

3 years agowidget/contact: send from given name
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:05:30 +0000 (00:05 +0100)]
widget/contact: send from given name

Apply naam input to sender email address.

3 years agologin/edit: share user override with widget
Mischa POSLAWSKY [Sat, 23 Jan 2021 12:30:09 +0000 (13:30 +0100)]
login/edit: share user override with widget

Fix admin editing of other profiles.

3 years agofoto: inline showthumb function to format img elements
Mischa POSLAWSKY [Fri, 15 Jan 2021 10:25:14 +0000 (11:25 +0100)]
foto: inline showthumb function to format img elements

Slight code simplification.

3 years agofoto: escape html (ampersands) in album links
Mischa POSLAWSKY [Fri, 15 Jan 2021 10:23:19 +0000 (11:23 +0100)]
foto: escape html (ampersands) in album links

Fix broken entity Lijtweg directory <verbouw&opknap>.

3 years agologin/admin: refer to edit link by updated appearance
Mischa POSLAWSKY [Fri, 15 Jan 2021 12:25:19 +0000 (13:25 +0100)]
login/admin: refer to edit link by updated appearance

Outdated since commit v4.4-16-gb168fd753d (2020-12-05)
[head: icons to abbreviate user and edit].

3 years agomake: fix missing domain name of fontello download
Mischa POSLAWSKY [Tue, 12 Jan 2021 02:38:21 +0000 (03:38 +0100)]
make: fix missing domain name of fontello download

Missing (and unnecessary) variable in commit v5.0-26-g38cf6657d2
(2021-01-10) [make rules to download fontello glyphs].

3 years agosearch: input form and extended results
Mischa POSLAWSKY [Mon, 11 Jan 2021 19:08:59 +0000 (20:08 +0100)]
search: input form and extended results

Already referenced from 404 page as ui for additional queries.

3 years agoedit/page: nbsp after initials, not unrelated abbreviations
Mischa POSLAWSKY [Mon, 11 Jan 2021 19:37:17 +0000 (20:37 +0100)]
edit/page: nbsp after initials, not unrelated abbreviations

Case-sensitive match; fix space after "i.v.m." not "I.V.M.".

3 years agoedit/page: ignore saving unaltered body
Mischa POSLAWSKY [Mon, 11 Jan 2021 18:52:34 +0000 (19:52 +0100)]
edit/page: ignore saving unaltered body

Do not overwrite an unaltered file, preventing mtime update and noop commit
(minor speedup).

3 years agoedit/page: save original request for commit message v5.1
Mischa POSLAWSKY [Thu, 7 Jan 2021 20:07:43 +0000 (21:07 +0100)]
edit/page: save original request for commit message

Minor code cleanup in not recreating the earlier name.

3 years agoedit/page: git directory relative to site root
Mischa POSLAWSKY [Thu, 7 Nov 2019 08:36:31 +0000 (09:36 +0100)]
edit/page: git directory relative to site root

No longer a subdirectory in Lijtweg since commit v2.6-134-g7b106a3076
(2018-09-21) [move www subdirectory to root].

3 years agoedit/head: keep login containers only if editable
Mischa POSLAWSKY [Thu, 7 Jan 2021 19:57:59 +0000 (20:57 +0100)]
edit/head: keep login containers only if editable

Fix logout hiding for admins with missing edit stylesheet.

3 years agomake rules to download fontello glyphs
Mischa POSLAWSKY [Tue, 5 Jan 2021 19:26:26 +0000 (20:26 +0100)]
make rules to download fontello glyphs

Common "build" code to obtain assets for site styling.

3 years agopage: allow remote access for xml requests
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:41:50 +0000 (03:41 +0100)]
page: allow remote access for xml requests

Made for inclusion from scripts such as dashboard page.

3 years agoissue/activity: group replies by message topic
Mischa POSLAWSKY [Sat, 2 Jan 2021 04:28:52 +0000 (05:28 +0100)]
issue/activity: group replies by message topic

Keep selected threads chronologically, similar to Redmine activity.

3 years agoissue: drop report template of activity widget
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:40:37 +0000 (03:40 +0100)]
issue: drop report template of activity widget

Page container to be implemented at sites.

3 years agopage: call handler through index method
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:53:49 +0000 (01:53 +0100)]
page: call handler through index method

3 years agopage: only html body on application/xml requests
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:33:21 +0000 (03:33 +0100)]
page: only html body on application/xml requests

3 years agopage: text/plain request triggers api mode
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:46:06 +0000 (19:46 +0100)]
page: text/plain request triggers api mode

3 years agoprogress: disable submit button while posting
Mischa POSLAWSKY [Sun, 27 Dec 2020 02:46:55 +0000 (03:46 +0100)]
progress: disable submit button while posting

Prevent duplicates from unavoidable double clicks.

3 years agowidget/reply: redirect to created comment
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:32:00 +0000 (02:32 +0100)]
widget/reply: redirect to created comment

Undo initial design of continuous uploads, rather have normal form behaviour
of showing feedback/results.

3 years agowidget/reply: load file upload progress indicator
Mischa POSLAWSKY [Thu, 9 Jan 2020 10:04:07 +0000 (11:04 +0100)]
widget/reply: load file upload progress indicator

Extend image upload script for any user form, with global support for
text/plain post interface (copied from Lijtweg upload controller designed
in v2.6-167-gd6338eb73e (2018-11-04) [hijack file input to show progress]).

3 years agoprogress: javascript to post image uploads
Mischa POSLAWSKY [Sun, 4 Nov 2018 15:29:29 +0000 (16:29 +0100)]
progress: javascript to post image uploads

Track code written for contact form at Lijtweg commit v2.6-167-gd6338eb73e
(2018-11-04) [upload: hijack file input to show progress] with updates until
v2.6-171-gb68eaa5bbd (2018-11-05) [upload: support multiple files]
in preparation of general reuse.

3 years agopage: api attribute indicate index requests
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:33:48 +0000 (19:33 +0100)]
page: api attribute indicate index requests

Replaces userless calls for better fault tolerance and permission support.

3 years agoedit/foto/cover: replace fatal exceptions by abort()
Mischa POSLAWSKY [Fri, 26 Oct 2018 18:48:48 +0000 (20:48 +0200)]
edit/foto/cover: replace fatal exceptions by abort()

Code cleanup, identical behaviour.

3 years agopage: redirect location option in abort()
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:44:33 +0000 (19:44 +0100)]
page: redirect location option in abort()

3 years agothumb: append .jpg extension to match file type
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:08:11 +0000 (01:08 +0100)]
thumb: append .jpg extension to match file type

Rename example.png paths to example.png.jpg so its name corresponds to mime
type as warned by Dareboost.

3 years agothumb: content-length http header
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:22:18 +0000 (01:22 +0100)]
thumb: content-length http header

Match [Apache] server output for cached files.
Still lacks ETag because PHP cannot calculate this (needs μs mtime).

3 years agothumb: only shrink larger images
Mischa POSLAWSKY [Sun, 27 Dec 2020 02:58:32 +0000 (03:58 +0100)]
thumb: only shrink larger images

Support smaller user uploads unscaled (with smaller file sizes), expecting
browser upscaling if necessary (lower quality should not be a problem).

3 years agothumb: validate path before extracting missing parts
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:36:04 +0000 (02:36 +0100)]
thumb: validate path before extracting missing parts

Silence PHP warning about undefined offset on invalid requests.

3 years agoedit/page: ignore missing edit target
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:35:14 +0000 (02:35 +0100)]
edit/page: ignore missing edit target

Silence javascript warning on uneditable pages.

3 years agoedit/page: describe hotkey letter in save plugin
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:39:12 +0000 (02:39 +0100)]
edit/page: describe hotkey letter in save plugin

Minor code cleanup of a magic value.

3 years agoedit/page: allow image uploads through easyimage
Mischa POSLAWSKY [Sun, 17 May 2020 00:40:31 +0000 (02:40 +0200)]
edit/page: allow image uploads through easyimage

Fix local files shown as blobs in testing.

3 years agoedit/page: disable pdf plugin for ckeditor
Mischa POSLAWSKY [Tue, 22 Dec 2020 23:20:13 +0000 (00:20 +0100)]
edit/page: disable pdf plugin for ckeditor

Imposed in Full release since version 4.15.1, causing license warning
despite being unused and unwanted.

3 years agoedit/page: ckeditor image upload to user dir, returned as thumb
Mischa POSLAWSKY [Tue, 22 Dec 2020 23:35:42 +0000 (00:35 +0100)]
edit/page: ckeditor image upload to user dir, returned as thumb

3 years agoedit/page: disable image size attributes in editor
Mischa POSLAWSKY [Tue, 22 Dec 2020 12:33:24 +0000 (13:33 +0100)]
edit/page: disable image size attributes in editor

Disallow width and height, with Advanced Content Filtering enabled following
<https://ckeditor.com/docs/ckeditor4/latest/guide/dev_disallowed_content.html
#how-to-allow-everything-except>.

3 years agoedit/page: fix ckeditor [json] upload response
Mischa POSLAWSKY [Tue, 22 Dec 2020 12:11:54 +0000 (13:11 +0100)]
edit/page: fix ckeditor [json] upload response

One incompatibility in commit v4.4-28-gdd363674c2 (2020-12-05)
[update remote ckeditor to version 4.15.1] after all, according to
https://ckeditor.com/docs/ckeditor4/latest/guide/dev_file_browser_api.html:

> Since CKEditor 4.9 all file uploads, including those initiated by the File
> Browser plugin, expect a JSON response

3 years agoedit/page: include admin stylesheet in editor ui
Mischa POSLAWSKY [Tue, 22 Dec 2020 18:34:53 +0000 (19:34 +0100)]
edit/page: include admin stylesheet in editor ui

Fix dialog style separated in the previous commit.

3 years agoedit/head: optional admin stylesheet for editor overrides v5.0
Mischa POSLAWSKY [Sun, 20 Dec 2020 15:55:24 +0000 (16:55 +0100)]
edit/head: optional admin stylesheet for editor overrides

Fix logout hiding if logged out.

3 years agoedit/head: ckeditor script url in data attribute
Mischa POSLAWSKY [Sun, 20 Dec 2020 01:16:19 +0000 (02:16 +0100)]
edit/head: ckeditor script url in data attribute

3 years agoedit/head: check original file request for writability
Mischa POSLAWSKY [Sun, 20 Dec 2020 00:58:13 +0000 (01:58 +0100)]
edit/head: check original file request for writability

3 years agopage: rename page method to file
Mischa POSLAWSKY [Sun, 20 Dec 2020 00:56:50 +0000 (01:56 +0100)]
page: rename page method to file

More descriptive of requested file name, avoiding duplicate $Page->page.

3 years agoedit/page: add edit button in javascript
Mischa POSLAWSKY [Sat, 19 Dec 2020 14:40:52 +0000 (15:40 +0100)]
edit/page: add edit button in javascript

3 years agoedit/head: move admin preparation to separate include
Mischa POSLAWSKY [Sat, 19 Dec 2020 14:29:03 +0000 (15:29 +0100)]
edit/head: move admin preparation to separate include

3 years agoissue/report: activity widget to list latest messages
Mischa POSLAWSKY [Fri, 3 Jan 2020 08:46:05 +0000 (09:46 +0100)]
issue/report: activity widget to list latest messages

3 years agoedit/page: enforce relative links to local domain
Mischa POSLAWSKY [Wed, 16 Dec 2020 13:05:11 +0000 (14:05 +0100)]
edit/page: enforce relative links to local domain

Replace <a href> and <img src> urls on save to fix common user mistake
breaking site deployment on a different [dev] domain.

3 years agoedit/page: replace format selection by style options
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:54:24 +0000 (13:54 +0100)]
edit/page: replace format selection by style options

Save one button (fitting in 2 rows on 420px width) by getting rid of the
arbitrary distinction between formatting and styles, the latter having
equally semantic elements and capable of toggling headers.

3 years agoedit/page: rename and append editor style options
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:52:45 +0000 (13:52 +0100)]
edit/page: rename and append editor style options

Support previously manual elements on Lijtweg: p.nav, s, span.right.
Prepare options to be displayed in 2 columns (frontend style).

3 years agopage: retain conditional login elements in editor
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:49:14 +0000 (13:49 +0100)]
page: retain conditional login elements in editor

Fix losing logout parts on save.

3 years agopage: quote link name fallback
Mischa POSLAWSKY [Sat, 12 Dec 2020 16:23:42 +0000 (17:23 +0100)]
page: quote link name fallback

Match title from page html.

3 years agositemap: nested index of handler subpages results
Mischa POSLAWSKY [Sat, 12 Dec 2020 15:02:35 +0000 (16:02 +0100)]
sitemap: nested index of handler subpages results

3 years agopage: search results as article objects
Mischa POSLAWSKY [Sat, 12 Dec 2020 14:41:39 +0000 (15:41 +0100)]
page: search results as article objects

Wanted to determine page link, but also afterwards in sitemap
and likely most other uses.

3 years agopage: index method to call metadata handler
Mischa POSLAWSKY [Sat, 12 Dec 2020 14:29:24 +0000 (15:29 +0100)]
page: index method to call metadata handler

Clean up duplicate code on login and sitemap.

3 years agonieuws: article index on sitemap request
Mischa POSLAWSKY [Sat, 12 Dec 2020 14:16:29 +0000 (15:16 +0100)]
nieuws: article index on sitemap request

Restore subpages ignored since previous commit.

3 years agopage: skip directory handlers in search
Mischa POSLAWSKY [Wed, 9 Dec 2020 09:38:06 +0000 (10:38 +0100)]
page: skip directory handlers in search

Code can alter file behaviour, so should be omitted from sitemap results
(to be replaced by custom index in following commit).

Removes wanted nieuws articles, but also random foto descriptions and
some accidental html files.

3 years agopage: retain thumb subhandlers over invalid resize
Mischa POSLAWSKY [Wed, 9 Dec 2020 08:01:49 +0000 (09:01 +0100)]
page: retain thumb subhandlers over invalid resize

Ignore non-static files such as /thumb/qr on Lijtweg.

3 years agositemap: apply link metadata from handler call
Mischa POSLAWSKY [Wed, 9 Dec 2020 07:56:42 +0000 (08:56 +0100)]
sitemap: apply link metadata from handler call

Execute generic index code introduced in commit v4.5-23-gb9757db578
(2020-12-19) [login: userless handler call to obtain metadata].

3 years agomail: support invalid and repeated requests
Mischa POSLAWSKY [Wed, 9 Dec 2020 09:38:56 +0000 (10:38 +0100)]
mail: support invalid and repeated requests

Fix random sitemap pages.