{"id":9113,"date":"2026-08-25T02:19:56","date_gmt":"2026-08-25T02:19:56","guid":{"rendered":"https:\/\/metaphaze.com\/gazettebuilder\/?page_id=9113"},"modified":"2026-08-25T02:19:56","modified_gmt":"2026-08-25T02:19:56","slug":"documentation-timeline","status":"publish","type":"page","link":"https:\/\/metaphaze.com\/gazettebuilder\/documentation-timeline\/","title":{"rendered":"Documentation: Timeline"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">GazetteBuilder can generate chronological views from Entries that contain a <strong>Timeline Sort<\/strong> value.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Timelines are inserted into normal WordPress content using the:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">shortcode.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The shortcode can display all eligible timeline Entries or narrow the results by Entry Type and date range. Timelines may be presented horizontally or vertically and can optionally include each Entry&#8217;s Summary.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preparing an Entry for the Timeline<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Timeline information is entered in the <strong>Entry Details<\/strong> section when editing an Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two Entry fields are relevant:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Campaign Date<\/strong><br>The reader-facing date or description displayed for the Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Timeline Sort<\/strong><br>The sortable date and time GazetteBuilder uses to determine where the Entry belongs chronologically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These fields serve different purposes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Campaign Date:Friday, 11 January 1889, shortly after noon<br>Timeline Sort:1889-01-11 12:15<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Campaign Date can use natural wording appropriate to the setting. Timeline Sort provides the structured value GazetteBuilder needs to put the Entry in chronological order.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder does not need to interpret the Campaign Date in order to determine chronology.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Basic Timeline<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Add the shortcode to a WordPress page, post, or other location where WordPress processes shortcodes:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This produces a timeline from eligible GazetteBuilder Entries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Each timeline item provides access to its full Entry.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Filtering by Entry Type<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>types<\/code> to limit the timeline to particular Entry Types.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline types=\"location,event\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This timeline contains eligible Entries whose Entry Types are Location or Event.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Multiple Entry Types are separated by commas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A timeline can therefore be tailored to its purpose. One page might contain only Events while another combines Events, Documents, and Locations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Limiting the Date Range<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>min<\/code> and <code>max<\/code> to restrict the chronological period shown.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline min=\"1889-01-01\" max=\"1889-06-30\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This limits the timeline to qualifying Entries between those dates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The two values may also be used together with Entry Type filtering:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline types=\"location,event\" min=\"1889-01-01\" max=\"1889-06-30\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This displays only Location and Event Entries within the specified period.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Horizontal Timeline<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline orientation=\"horizontal\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to present the timeline horizontally.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is useful when chronological movement from left to right suits the page design.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On narrower displays, a horizontal timeline may require horizontal movement to view additional timeline items.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vertical Timeline<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline orientation=\"vertical\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to present the same information vertically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entries progress from top to bottom in chronological order.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A vertical presentation is often useful for longer timelines or pages where horizontal space is limited.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Showing Entry Summaries<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline summary=\"yes\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to include the GazetteBuilder <strong>Summary<\/strong> associated with each qualifying Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This gives readers additional context without requiring them to open every Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, a timeline item might effectively contain:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">11 January 1889<br>Harcourt Survey Preparations<br>Event<br>Final arrangements are made before the survey work begins.<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The title links to the complete Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entries without a Summary can still participate in the timeline; they simply do not have summary text to display.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Combining Options<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Timeline options can be combined in a single shortcode.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline types=\"location,event\" min=\"1889-01-01\" max=\"1889-06-30\" orientation=\"horizontal\" summary=\"yes\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This requests:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Location and Event Entries;<\/li>\n\n\n\n<li>between 1 January and 30 June 1889;<\/li>\n\n\n\n<li>displayed horizontally;<\/li>\n\n\n\n<li>with Entry summaries.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Shortcode Reference<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The current timeline options are:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Parameter<\/th><th>Purpose<\/th><th>Example<\/th><\/tr><\/thead><tbody><tr><td><code>types<\/code><\/td><td>Limit results to one or more Entry Types<\/td><td><code>types=\"location,event\"<\/code><\/td><\/tr><tr><td><code>min<\/code><\/td><td>Earliest Timeline Sort date to include<\/td><td><code>min=\"1889-01-01\"<\/code><\/td><\/tr><tr><td><code>max<\/code><\/td><td>Latest Timeline Sort date to include<\/td><td><code>max=\"1889-06-30\"<\/code><\/td><\/tr><tr><td><code>orientation<\/code><\/td><td>Select horizontal or vertical presentation<\/td><td><code>orientation=\"horizontal\"<\/code><\/td><\/tr><tr><td><code>summary<\/code><\/td><td>Include Entry summaries<\/td><td><code>summary=\"yes\"<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A shortcode with no options remains valid:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Entry Type Names<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>types<\/code> parameter uses the Entry Type identifiers recognized by GazetteBuilder.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">types=\"location,event\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">corresponds to the Location and Event Entry Types.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When creating timelines for custom Entry Types, use the corresponding identifier for the Entry Type configured in GazetteBuilder.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Date Filtering Uses Timeline Sort<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>min<\/code> and <code>max<\/code> parameters filter against the structured <strong>Timeline Sort<\/strong> value, not the reader-facing Campaign Date.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This distinction allows Campaign Date to remain flexible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An Entry could display:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Campaign Date:Early January 1889<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">while carrying a structured Timeline Sort value used for its chronological placement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The timeline relies on Timeline Sort for ordering and range filtering.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Publication and Release Eligibility<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Timeline membership does not override GazetteBuilder&#8217;s normal release rules.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An Entry may have a Timeline Sort value that places it within the requested period but still be unavailable because of its publication or Release Date state.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Timeline Sort: 1889-01-15<br>Release Date: future<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">does not cause the timeline to expose that Entry early.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once the Entry becomes release-eligible, it can appear automatically in qualifying timeline views.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This means a timeline can be placed on a page once and left in place as the Gazette develops.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Campaign Chronology and Release Chronology Are Separate<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Timeline Sort describes <strong>when something belongs in the world chronology<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Release Date describes <strong>when readers are allowed to see the Entry<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They do not need to match.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Campaign Date:10 January 1889<br>Timeline Sort:1889-01-10 09:00<br>Release Date:09\/01\/2026 08:00<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Entry belongs on 10 January 1889 in the fictional chronology but does not become eligible for readers until its 2026 release.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After release, it appears in the correct 1889 position rather than at the end of the timeline.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stories and Timelines<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Story Sequence Position and Timeline Sort are also independent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A Story may intentionally present Entries in an order that differs from their chronology.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Sequence 1 \u2014 11 January 1889<br>Sequence 2 \u2014 12 January 1889<br>Sequence 3 \u2014 Flashback to 1875<br>Sequence 4 \u2014 13 January 1889<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Story still presents positions 1 through 4 in authored order.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A timeline instead places the same qualifying Entries according to their Timeline Sort values.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This allows a single Entry to participate correctly in both a narrative sequence and a chronological reference view.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Building Different Timelines From the Same Entries<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Because the timeline is generated dynamically, the same underlying Entries can support multiple chronological views.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, a Gazette might contain:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">for a broad setting history,<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline types=\"event\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">for an Event chronology,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">and:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">[gazette_timeline types=\"document,event\" min=\"1889-01-01\" max=\"1889-01-31\" orientation=\"vertical\" summary=\"yes\"]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">for a detailed January 1889 historical page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Entries do not need to be copied or entered separately for each timeline.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Updating a Timeline<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There is no separate timeline record to maintain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gazette Builder generates the timeline from qualifying Entries whenever the shortcode is displayed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To change the timeline&#8217;s contents, change the Entries or the shortcode criteria:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>add a Timeline Sort value to an Entry;<\/li>\n\n\n\n<li>change an Entry&#8217;s Timeline Sort value;<\/li>\n\n\n\n<li>change its Entry Type;<\/li>\n\n\n\n<li>publish or release the Entry;<\/li>\n\n\n\n<li>change the <code>types<\/code>, <code>min<\/code>, or <code>max<\/code> filters in the shortcode.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The corresponding timeline then reflects the eligible Entries automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The practical rule is simple: <strong>Campaign Date tells the reader when it happened; Timeline Sort tells GazetteBuilder where it belongs.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GazetteBuilder can generate chronological views from Entries that contain a Timeline Sort value. Timelines are inserted into normal WordPress content using the: [gazette_timeline] shortcode. The shortcode can display all eligible timeline Entries or narrow the results by Entry Type and date range. Timelines may be presented horizontally or vertically and can optionally include each Entry&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9113","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/comments?post=9113"}],"version-history":[{"count":1,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9113\/revisions"}],"predecessor-version":[{"id":9114,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9113\/revisions\/9114"}],"wp:attachment":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/media?parent=9113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}