summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-08-12Give the admin lists a shared table and row vocabularyerdgeist
row_primary and row_secondary replace four names for a row's title and five for its supporting line, across the tables and the sitemap. Actions cells no longer sit flush against the row edge Header rows move into thead, which retires the .header class from the CSS, the tr.header:hover suppression, and .no_hover Replace variety of nodes_table, assets_table, events_table, revisions_table, user_table and sitemap with a shared class admin_table
2026-08-11Cleanup redundant rules in public csserdgeist
2026-08-11Fix admin.css button states and table paddingerdgeist
2026-08-10Fix three admin.css defectserdgeist
.action_button's font: inherit reset the font-weight: bold above it and the line-height: 1.2 in the other .action_button rule; font-family and font-size were what it was for. Buttons render bold again and at the intended height. .link_icon_button:hover painted --on-solid, a fixed white, onto a fill of --text -- an invisible glyph. --surface is what every other hover onto --text uses. Icon tiles in action_item carry the border and the disabled variant is the one without. The raised fill is 3% off the background where the border is 13%, so the border was carrying the distinction while the disabled state was the only thing outlined.
2026-08-09Remove two dead rake task fileserdgeist
cccms:mysql_to_postgres was the one-time MySQL to PostgreSQL import. It uses set_table_name and globalize_translations, removed from Rails and Globalize respectively, so it raises on its first class definition. ci:run_ci configured Integrity, a CI server this project no longer uses. It copies config/database.sqlite3-sample.yml, which does not exist, over config/database.yml, which is a live local file.
2026-08-09Document loading the schema as the install patherdgeist
db/schema.rb is in the repository, so a fresh install loads it rather than replaying migrations. db:setup and db:reset are safe; db:migrate is for an existing installation. The search_vector trigger is reinstalled by a db:schema:load hook and at boot, so a fresh install needs nothing further. A restore from a dump that predates the trigger needs pages:backfill_search_vector, now listed under one-shot tasks. The test database is no longer created by hand: Rails' db:test:prepare drops and recreates it from database.yml.
2026-08-09Escape feed content with Builder rather than by handerdgeist
Builder escapes by default; the three feed templates no longer call CGI.escapeHTML. This fixes two sites that never escaped at all: the tag feed's externally supplied :tag segment, interpolated into its title, self link and id, and dc:creator in the RDF template. Subscribers see one difference: quotes and apostrophes arrive raw, which is valid in element text. config/initializers/xmlparser.rb, which redefined Builder::XmlBase#_escape as the identity function, is gone. XML::Node#replace_with went with it, no callers.
2026-08-09Let the RSS templates raise in testserdgeist
2026-08-09Add a task to populate missing search vectorserdgeist
2026-08-09Remove the Rails 3.2 duration patcherdgeist
It reopened Integer and Float to work around duration arithmetic under Ruby 2.4 and Rails 3.2, and has been shadowing ActiveSupport's own helpers ever since. Its months were exactly 30 days and its years 365.25, both differing from ActiveSupport's constants, and it built Duration parts as an array of pairs rather than a hash, recording weeks as days and hours and minutes as seconds
2026-08-09Remove the Rails 3.2 create_database patcherdgeist
It rewrote the method to work around Enumerable#sum refusing a String seed under Ruby 2.4, and has been obsolete since Rails 3.2 was left behind. It kept shadowing the adapter, dropping the collation, ctype, locale and locale_provider options Rails 8 supports
2026-08-09Load the test schema through Rails, and keep the search trigger installederdgeist
2026-08-09Cleanup gitignoreerdgeist
2026-08-09Make db/schema.rb the authoritative database descriptionerdgeist
2026-08-09Drop nodes.external_urlerdgeist
The column moved to page.rb and was now written only by publish_draft! and by the chapter seed, and read by nothing. lib/tasks/pages.rake goes with it. backfill_external_url reads the dropped column. backfill_address is spent and no longer safe to re-run.
2026-08-09Report every editorial attribute in the revision differdgeist
diff_against gained external_url, published_at and user. The view renders each metadata section only when that attribute changed, and says so once when none did. Metadata now precedes the locale pointer, which speaks only of translations: above the metadata it read as "nothing changed" on a revision that had moved the page.
2026-08-09Offer destroying an asset from its own pageerdgeist
2026-08-09Give the attach picker and the create-page action their own rowserdgeist
2026-08-09Attach an asset to a page from the asset's own pageerdgeist
The picker moves from assets/edit to assets/show, where the list of attached pages already is. A member route, POST assets/:id/attach_to_node, replaces the ride on #update. Supersedes the picker wiring in the previous commit; what remains of it is @attach_node in #create, the flash composition and the corrected hint.
2026-08-09Attach an asset to a page from its edit formerdgeist
2026-08-09Refuse destroying an asset that is still attachederdgeist
2026-08-09Attach assets to the draft instead of to every lifecycle rowerdgeist
Node#attach_asset! writes to the node's draft alone, creating one from the head when none is pending. It refuses when another user holds the lock, and when an autosave already exists The asset_attach verb goes with it. create_new_draft names the editor on the draft it creates and the publish entry's asset delta reports the attachment.
2026-08-08Add external url to pageserdgeist
2026-08-08Move the external homepage onto the drafterdgeist
2026-08-08Pin the disclosure partial against a silent fallbackerdgeist
2026-08-08Fix the bootstrap task for the root nodeerdgeist
2026-08-07Drop the staged address columns from nodeserdgeist
2026-08-07Show a pending address in the cockpit, the diff and the publish confirmerdgeist
2026-08-07Compress faviconerdgeist
2026-08-07Fix favicon backgrounderdgeist
2026-08-07Move the pending address from the node onto the drafterdgeist
2026-08-07Fix a dropped declaration and drop a dead rule from ccc.csserdgeist
2026-08-07Drop dead CSS rules and a redundant declaration from admin.csserdgeist
2026-08-06Repair unreachable asset error keys and drop orphaned locale entrieserdgeist
2026-08-06Fix test that expected old sitemap collapsing behaviourerdgeist
2026-08-06Re-structure sitemap, all subpages collapsed by default, visually tightenederdgeist
2026-08-06Let editors set a node external homepage, gated and witnessederdgeist
2026-08-06Remove mis-leading flag for nodes in sitemaperdgeist
2026-08-06Rebuild the sitemap rows around the shared title and action patternserdgeist
2026-08-06Preload page titles for the sitemap, and order containers before leaveserdgeist
2026-08-06Make the events and assets lists work on a phoneerdgeist
2026-08-06Reduce the events list to title, when and actionserdgeist
2026-08-05Search assets and events, and order events by when they happenerdgeist
2026-08-04Rework the README/INSTALL documents and provide a bootstrap script (untested ;)erdgeist
2026-08-04Tidy up headings on house keeping viewserdgeist
- Collapse page headers into one action row with an optional hint - limit will_paginate to one row
2026-08-04Give node lists a flag column and a shared action barerdgeist
2026-08-04Witness every promotion and demotion made through the roles formerdgeist
2026-08-03Require elevation before editing another accounterdgeist
2026-08-03Remove pointer to wiki.github, it's deaderdgeist
2026-08-03Restore public tags path under global scopeerdgeist