This commit aims to generalise database structures such that any block
may be traversed without the need for specific functions for each type.
Concretely, it replaces functions like SkipAsset() and SkipProject()
with a generic SkipHeaderedSectionRecursively(). The change also paves
the way for the plethora of new block types due in CINERA_DB_VERSION 6.
This commit aims to help Cinera instances coordinate themselves by
throwing an error upon being instructed to use a database or config
file currently in use by another instance.
• Renumber affected entries when inserting / deleting an entry of an
auto-numbered project
• Prohibit an entry from sharing an "output" with another entry
• Prohibit an entry's "output" from containing a slash
• Fix entry HTML deletion to use OutputLocation, not BaseFilename
New config options:
numbering_filename_prefix (string)
Defaults to $project
numbering_method
auto
filename_derived (default)
hmml_specified
numbering_start (number)
May be used to 0-index the set
numbering_unit (renamed from "unit")
numbering_zero_pad (boolean)
This commit also fixes the size of the "?" help button and category dots
when the wider site uses box-sizing: border-box
This is an unversioned interim commit with unfinalised code.
The threading code establishes job queues.
The code cleanup removes various _TopLevel functions pertaining to
database operations.
To use it, source the cinera_clear.js file at the position in the HTML
file to be obscured while further processing occurs. (Make sure not to
"defer" it.)
After processing is complete, call FlipClear()
• Fix segfault due to unconfigured role
• Add credit scope to the root scope's TypeSpec, permitting
credit = "$owner" { role = "host"; }
to be absorbed by all projects
• Make "unfound role" errors WaitForInput()
Features:
User-configurable roles and credits
Handle SIGINT to quit cleanly and avoid database corruption
Fixes:
Filesystem event monitoring handles directory creation / deletion
Fixed buffer overflow when trying to curl in a non-existent quote
The search page could auto-scroll to the top when the grid is not
displayed. This commit fixes that problem by ensuring that the grid
element has a width and height before seeking to auto-scroll to it.
Thanks to Leonardo Serafim Eid for the report
• Max{Height,Width}OfElement() should now produce saner values
• Video can now resize upon orientation change on mobile
• Search grid now sizes to the correct area
• CSS rule setting only tries to touch local stylesheets
• Video size may be based on the height if the width-based is too tall
• Auto-scrolling improvements:
• It now cannot oscillate
• It doesn't happen at all if scrolled to the very top / bottom
Thanks to @Freak_ on freenode for the report
Better text fitting
Account for the scrollbar width in our max width considerations
Don't bother to compute the grid size merely when toggling the view