mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2026-08-29 14:18:55 +00:00
Introduce impact notes attached to change notes
No styles yet
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
title: $:/changenotes/5.4.0/#8702/impacts/darkmode-info-tiddler
|
||||
changenote: $:/changenotes/5.4.0/#8702
|
||||
created: 20250901000000000
|
||||
modified: 20250901000000000
|
||||
tags: $:/tags/ImpactNote
|
||||
description: `$:/info/darkmode` has been superseded by `$:/info/browser/darkmode`
|
||||
impact-type: deprecation
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
title: $:/changenotes/5.4.0/#8702/impacts/palette-pluginisation
|
||||
changenote: $:/changenotes/5.4.0/#8702
|
||||
created: 20250901000000000
|
||||
modified: 20250901000000000
|
||||
tags: $:/tags/ImpactNote
|
||||
description: Existing colour palettes have been moved to a new "palettes-legacy" plugin
|
||||
impact-type: pluginisation
|
||||
|
||||
Add the plugin to your wiki in order to continue using the legacy palettes.
|
||||
@@ -0,0 +1,27 @@
|
||||
title: $:/changenotes/5.4.0/#8702
|
||||
description: Colour handling improvements
|
||||
release: 5.4.0
|
||||
tags: $:/tags/ChangeNote
|
||||
change-type: enhancement
|
||||
change-category: hackability
|
||||
links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/8702
|
||||
github-contributors: Jermolene
|
||||
|
||||
This PR brings several new features for end users:
|
||||
|
||||
* Automatically switching between a dark and light palette as the operating system setting changes (and to do so without making the wiki dirty)
|
||||
* Customisation options for palettes. For example, users might choose a base hue, with the colours of the palette automatically adapting to it
|
||||
* A generalisation of the dark vs. light mechanism to allow an arbitrary number of distinct schemes that are dynamically selected. For example, a palette that has a different scheme for night, morning, day and evening that automatically change with the time of day
|
||||
|
||||
There are also new capabilities for palette authors:
|
||||
|
||||
* Inheritance for palettes, making it easy to create chains of variants of a base palette
|
||||
* Self contained palettes that can contain both dark and light variants (or variants for any other custom scheme)
|
||||
|
||||
To make all of these new features possible, this PR also includes some useful new general purpose mechanisms and features:
|
||||
|
||||
* Background actions that are triggered whenever there is a change to the results of a specified filter
|
||||
* Several new filter operators for manipulating colour values. The underlying functionality comes from the [[color.js|https://colorjs.io/]] library
|
||||
* New media query tracking mechanism that can track the results of any CSS media query (not just dark mode), storing the results in a shadow `$:/info/...` tiddler
|
||||
* New `changecount` filter operator
|
||||
* New `:apply` filter run prefix (to be replaced by the `:let` filter run prefix in [[#8972|https://github.com/TiddlyWiki/TiddlyWiki5/pull/8972]]))
|
||||
@@ -0,0 +1,9 @@
|
||||
title: $:/changenotes/5.4.0/#9183/impacts/core-server-pluginisation
|
||||
changenote: $:/changenotes/5.4.0/#9183
|
||||
created: 20250901000000000
|
||||
modified: 20250901000000000
|
||||
tags: $:/tags/ImpactNote
|
||||
description: Server components of the core have been moved into a new `$:/core-server` plugin
|
||||
impact-type: pluginisation
|
||||
|
||||
It is not necessary for wikis to explicitly include the `$:/core-server` plugin.
|
||||
@@ -2,7 +2,7 @@ title: $:/changenotes/5.4.0/#9183
|
||||
description: Offload server-only components to a plugin
|
||||
release: 5.4.0
|
||||
tags: $:/tags/ChangeNote
|
||||
change-type: pluginisation
|
||||
change-type: performance
|
||||
change-category: internal
|
||||
links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9183 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9288
|
||||
github-contributors: Jermolene Leilei332
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
title: Release Notes and Changes Internals
|
||||
|
||||
! Release Notes
|
||||
|
||||
Release notes describe the changes in a release, and the impact of those changes.
|
||||
|
||||
Release note fields:
|
||||
|
||||
* `caption` - the plain version number (eg `5.4.0`)
|
||||
* `created` - in DateFormat
|
||||
* `modified` - in DateFormat
|
||||
* `released` - in DateFormat -- only present if the release has been published
|
||||
* `tags` - must include `ReleaseNotes`
|
||||
* `title` - the title of the release note (eg `Release 5.4.0`)
|
||||
* `description` - a brief description of the release
|
||||
* `text` - see below
|
||||
|
||||
The text of the release note should consist of the definition of a variable `release-introduction` followed by the invocation of the `releasenote` procedure. For example:
|
||||
|
||||
```
|
||||
\define release-introduction()
|
||||
Release v5.4.0 includes major improvements in a number of areas. See the [[project plan|https://github.com/orgs/TiddlyWiki/projects/4]] for more details.
|
||||
\end release-introduction
|
||||
|
||||
<<releasenote 5.4.0>>
|
||||
```
|
||||
|
||||
! Change Notes
|
||||
|
||||
Change notes describe a discrete change within a release. Change note fields:
|
||||
|
||||
* `title` - by convention titles are formed `$:/changenotes/<version>/<unique identifier>`. The unique identifier is typically the primary GitHub PR or issue like `#1234` or a GitHub commit ID such as `98f850609d29bc36ded83f90c0d5be231649254b`
|
||||
* `tags` - must include `$:/tags/ChangeNote`
|
||||
* `change-type` - the type of change as a single string; see [[here|Release Notes and Changes]] for valid values
|
||||
* `change-category` - the category of the change; see [[here|Release Notes and Changes]] for valid values
|
||||
* `text` - full description of the change
|
||||
* `description` - brief description of the change
|
||||
* `release` - the release with which this change note is associated (eg `5.4.0`)
|
||||
* `links` - a list of the ~GitHub links associated with this change
|
||||
* `github-contributors` - a list of the ~GitHub handles of the developers responsible for the PR/commits
|
||||
|
||||
! Impact Notes
|
||||
|
||||
Impact notes describe the impact of a particular change. There can be multiple impact notes for a given change.
|
||||
|
||||
Impact note fields:
|
||||
|
||||
* `title` - by convention, the title of the associated change note with `/deprecations/` and a unique ID appended `$:/changenotes/5.4.0/#8702/deprecations/darkmode-info-tiddler`
|
||||
* `changenote` - the title of the associated change note
|
||||
* `created` - in DateFormat
|
||||
* `modified` - in DateFormat
|
||||
* `tags` - must include `$:/tags/ImpactNote`
|
||||
* `description` - a brief description of the impact
|
||||
* `impact-type` - the type of impact; see [[here|Release Notes and Changes]] for valid values
|
||||
* `text` - description of the impact if required
|
||||
@@ -1,18 +1,25 @@
|
||||
title: Release Notes and Changes
|
||||
|
||||
See [[Release Notes and Changes Internals]] for a detailed breakdown of the tiddlers that make up a release note.
|
||||
|
||||
! Release Notes
|
||||
|
||||
Release notes describe the changes in a release, and the impact of those changes. They comprise the following information:
|
||||
|
||||
* the version number (eg `5.4.0`)
|
||||
* the release date if the release has been published
|
||||
* a brief description of the release
|
||||
|
||||
! Change Notes
|
||||
|
||||
* `title` by convention titles are formed `$:/changenotes/<version>/<unique identifier>`. The unique identifier is typically a GitHub PR or issue like `#1234` or a GitHub commit ID such as `98f850609d29bc36ded83f90c0d5be231649254b`
|
||||
* `tags` must include `$:/tags/ChangeNote`, see below for other valid tags
|
||||
* `change-type` the type of change as a single string; see below for values
|
||||
* `change-category` the category of the change; see below for vqalues
|
||||
Change notes describe a discrete change within a release. Change note comprise the following information:
|
||||
|
||||
Other valid tags for change notes:
|
||||
|
||||
* `$:/tags/ChangeNote/Deprecation`
|
||||
* `$:/tags/ChangeNote/Breaking`
|
||||
* the associated release
|
||||
* the change-type from the list below
|
||||
* the change-category from the list below
|
||||
* a description of the change
|
||||
* a list of the ~GitHub links associated with this change
|
||||
* a list of the ~GitHub handles of the developers responsible for the PR/commits
|
||||
|
||||
Valid change note types are as follows:
|
||||
|
||||
@@ -21,7 +28,7 @@ Valid change note types are as follows:
|
||||
* ''enhancement''
|
||||
* ''deprecation''
|
||||
* ''security''
|
||||
* ''pluginisation''
|
||||
* ''performance''
|
||||
|
||||
Valid change categories are as follows:
|
||||
|
||||
@@ -36,3 +43,17 @@ Valid change categories are as follows:
|
||||
* ''nodejs''
|
||||
* ''performance''
|
||||
* ''developer''
|
||||
|
||||
! Impact Notes
|
||||
|
||||
Impact notes describe the impact of a particular change. There can be multiple impact notes for a given change. They comprise the following information:
|
||||
|
||||
* the associated change note
|
||||
* a description of the impact
|
||||
* the impact type from the list below
|
||||
|
||||
Valid impact types are as follows:
|
||||
|
||||
* ''deprecation'' - there are features or functionality that should no longer be used in new code
|
||||
* ''compatibility-break'' - changes are included that break backwards compatibility
|
||||
* ''pluginisation'' - functionality has been moved from the core to a plugin
|
||||
|
||||
@@ -11,15 +11,21 @@ categories/hackability/caption: Hackability
|
||||
categories/nodejs/caption: Node.js
|
||||
categories/performance/caption: Performance
|
||||
categories/developer/caption: Developer
|
||||
change-types/bugfix/caption: BUGFIX
|
||||
change-types/bugfix/caption: Bugfix
|
||||
change-types/bugfix/colour: #ffe246
|
||||
change-types/feature/caption: FEATURE
|
||||
change-types/feature/caption: Feature
|
||||
change-types/feature/colour: #91ba66
|
||||
change-types/enhancement/caption: ENHANCEMENT
|
||||
change-types/enhancement/caption: Enhancement
|
||||
change-types/enhancement/colour: #cba5ff
|
||||
change-types/deprecation/caption: DEPRECATION
|
||||
change-types/deprecation/caption: Deprecation
|
||||
change-types/deprecation/colour: #ff9d6c
|
||||
change-types/security/caption: SECURITY
|
||||
change-types/security/caption: Security
|
||||
change-types/security/colour: #ff6666
|
||||
change-types/pluginisation/caption: PLUGINISATION
|
||||
change-types/pluginisation/colour: #aaaaaa
|
||||
change-types/performance/caption: Performance
|
||||
change-types/performance/colour: #aaaaaa
|
||||
impact-types/deprecation/caption: Deprecation
|
||||
impact-types/deprecation/colour: #882222
|
||||
impact-types/compatibility-break/caption: Compatibility Break
|
||||
impact-types/compatibility-break/colour: #228822
|
||||
impact-types/pluginisation/caption: Pluginisation
|
||||
impact-types/pluginisation/colour: #222288
|
||||
|
||||
@@ -37,44 +37,67 @@ for their winning design for the banner for this release (here is the
|
||||
|
||||
\procedure change-list()
|
||||
\whitespace trim
|
||||
<$list filter="[enlist{$:/tw5.com/releases/info/category-order}]" variable="category">
|
||||
<%if [tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :filter[{!!change-category}match<category>] %>
|
||||
<h2>
|
||||
<$text text={{{ [[$:/tw5.com/releases/info/categories/]addsuffix<category>addsuffix[/caption]get[text]] }}} />
|
||||
</h2>
|
||||
<ul>
|
||||
<$list filter="[tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :filter[{!!change-category}match<category>]" variable="change">
|
||||
<li>
|
||||
<$link
|
||||
to="Release Notes and Changes"
|
||||
class="doc-link-badge"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
style.backgroundColor={{{ [<change>get[change-type]addprefix[$:/tw5.com/releases/info/change-types/]addsuffix[/colour]get[text]] }}}
|
||||
>
|
||||
<$text text={{{ [<change>get[change-type]addprefix[$:/tw5.com/releases/info/change-types/]addsuffix[/caption]get[text]] }}}/>
|
||||
</$link>
|
||||
<$text text=" "/>
|
||||
<$list filter="[<change>get[links]enlist-input[]]" variable="link">
|
||||
<a
|
||||
href=<<link>>
|
||||
class="doc-github-link"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
<div class="doc-release-note">
|
||||
<$list filter="[enlist{$:/tw5.com/releases/info/category-order}]" variable="category">
|
||||
<%if [tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :filter[{!!change-category}match<category>] %>
|
||||
<div class="doc-release-note-heading">
|
||||
<h2 class="doc-change-note-category">
|
||||
<$text text={{{ [[$:/tw5.com/releases/info/categories/]addsuffix<category>addsuffix[/caption]get[text]] }}} />
|
||||
</h2>
|
||||
</div>
|
||||
<$list filter="[tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :filter[{!!change-category}match<category>sort[description]]" variable="change">
|
||||
<div class="doc-change-note-item">
|
||||
<div class="doc-change-note-type">
|
||||
<$link
|
||||
to="Release Notes and Changes"
|
||||
class="doc-link-badge"
|
||||
style.backgroundColor={{{ [<change>get[change-type]addprefix[$:/tw5.com/releases/info/change-types/]addsuffix[/colour]get[text]] }}}
|
||||
>
|
||||
{{$:/core/images/github}}
|
||||
</a>
|
||||
<$text text=" "/>
|
||||
</$list>
|
||||
<$transclude $tiddler=<<change>> $field="description" $mode="inline"/>
|
||||
<div class="doc-changenote-body">
|
||||
<$transclude $tiddler=<<change>> $mode="block"/>
|
||||
<$text text={{{ [<change>get[change-type]addprefix[$:/tw5.com/releases/info/change-types/]addsuffix[/caption]get[text]] }}}/>
|
||||
</$link>
|
||||
</div>
|
||||
</li>
|
||||
<div class="doc-change-note-body">
|
||||
<$transclude $tiddler=<<change>> $field="description" $mode="inline"/>
|
||||
<div class="">
|
||||
<$list filter="[tag[$:/tags/ImpactNote]] :filter[{!!changenote}match<change>] +[sort[description]]" variable="impact">
|
||||
<div class="doc-change-note-impactnote">
|
||||
<$text text={{{ [<impact>get[impact-type]] }}}/>
|
||||
<$text text=" - "/>
|
||||
<$transclude $tiddler=<<impact>> $field="description" $mode="inline"/>
|
||||
</div>
|
||||
</$list>
|
||||
</div>
|
||||
<div class="doc-change-note-github-links">
|
||||
<$list filter="[<change>get[links]enlist-input[]]" variable="link">
|
||||
<a
|
||||
href=<<link>>
|
||||
class="doc-github-link"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
{{$:/core/images/github}}
|
||||
</a>
|
||||
</$list>
|
||||
</div>
|
||||
<div class="doc-change-note-description">
|
||||
<$transclude $tiddler=<<change>> $mode="block"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="doc-change-note-impacts">
|
||||
<div class="">
|
||||
<$list filter="[tag[$:/tags/ImpactNote]] :filter[{!!changenote}match<change>] +[get[impact-type]unique[]sort[]]" variable="impact-type">
|
||||
<span class="doc-change-note-impacts-summary-item" style.borderColor={{{ [<impact-type>addprefix[$:/tw5.com/releases/info/impact-types/]addsuffix[/colour]get[text]] }}}>
|
||||
<$text text=<<impact-type>>/>
|
||||
</span>
|
||||
<$text text=" "/>
|
||||
</$list>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</$list>
|
||||
</ul>
|
||||
<%endif%>
|
||||
</$list>
|
||||
<%endif%>
|
||||
</$list>
|
||||
</div>
|
||||
\end change-list
|
||||
|
||||
\procedure acknowledgements()
|
||||
@@ -82,10 +105,8 @@ for their winning design for the banner for this release (here is the
|
||||
<$list filter="[enlist<release-github-contributors>sort[]]" variable="username">
|
||||
<li>
|
||||
<a href={{{ [[https://github.com/]addsuffix<username>] }}} class="tc-tiddlylink-external" target="_blank" rel="noopener noreferrer">
|
||||
<img src={{{ [[https://github.com/]addsuffix<username>addsuffix[.png?size=64]] }}} width="64" height="64"/>
|
||||
<span class="doc-github-contributor-username">
|
||||
@<$text text=<<username>>/>
|
||||
</span>
|
||||
<span class="doc-github-contributor-avatar"><img src={{{ [[https://github.com/]addsuffix<username>addsuffix[.png?size=64]] }}} width="64" height="64"/></span>
|
||||
<span class="doc-github-contributor-username">@<$text text=<<username>>/></span>
|
||||
</a>
|
||||
</li>
|
||||
</$list>
|
||||
|
||||
@@ -1,3 +1,20 @@
|
||||
title: $:/tw5.com/releases/styles
|
||||
tags: $:/tags/Stylesheet
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
.doc-release-note {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
grid-template-columns: fit-content(20ch) 1fr fit-content(40ch);
|
||||
gap: 1.5rem;
|
||||
margin: 2rem 0;
|
||||
}
|
||||
|
||||
/* Headings span all three columns */
|
||||
.doc-release-note-heading {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.doc-change-note-item {
|
||||
display: contents;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user