1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2026-05-06 05:31:29 +00:00

Compare commits

..

54 Commits

Author SHA1 Message Date
Mario Pietsch
56ea0789e1 Update deprecated.js issues (#9833)
* Fix RSOD when $tw.utils.addClass receives a class string with whitespace

PR #9251 replaced the manual setAttribute("class", ...) implementation of
$tw.utils.addClass/removeClass/toggleClass with direct Element.classList
calls. Unlike setAttribute, classList.add/remove/toggle throws
InvalidCharacterError on any token containing whitespace, so callers that
pass a whole class string (e.g. modal.js passing tiddler.fields.class)
now crash.

Manual repro on tw5-com: open SampleWizard, set the `class` field to
"aaa bbb", Done, open popup -> OK -> open nested popup -> RSOD.

Fix: split the className argument on whitespace in deprecated.js and feed
individual tokens to classList. A small splitClasses() helper keeps the
three functions symmetrical.

Adds adversarial regression tests in test-utils.js covering:
- ASCII whitespace variants (space, tab, CR, LF, mixed runs, padding)
- Unicode whitespace (U+00A0 non-breaking space)
- de-duplication across single and multiple calls
- remove/toggle no-op on missing tokens
- toggle with status undefined / true / false
- silent no-op for whitespace-only / empty / non-string / null input
- silent no-op when the element has no classList

* Move new tests to their own file

* Add backwards-compat regression tests for deprecated.js

Locks in pre-5.4.0 tolerant behaviour of $:/core/modules/utils/
deprecated.js helpers that regressed in PR #9251. Each spec targets an
edge-case input the current one-line modern equivalents reject:

- repeat: negative count / null / undefined str
- startsWith / endsWith: RegExp search arg
- stringifyNumber: null / undefined
- domContains: boolean return, self-check
- hasClass: null element, classless element
- getLocationPath: query preservation, hash stripping
  (browser-only; pends in Node because the TW5 sandbox has no `window`)

Also picks up the addClass/removeClass/toggleClass whitespace specs
moved out of test-utils.js by the previous commit, so all deprecated.js
coverage lives together.

Fails 8 specs on current HEAD; the follow-up deprecated.js restoration
commit turns them green.

* Restore pre-5.4.0 behaviour of deprecated.js utilities

PR #9251 replaced several helpers in $:/core/modules/utils/deprecated.js
with one-line ES2017 equivalents that diverge from the originals on
edge-case inputs. Follow-up PRs fixed the most visible cases
(getLocationHash #9622, isDate #9771, addClass empty-string #9561 and
whitespace 005e17537); this commit closes the rest:

- repeat: manual loop tolerates negative count / null / undefined str
- startsWith / endsWith: substring compare tolerates RegExp search arg
- stringifyNumber: `num + ""` coercion tolerates null / undefined
- domContains: `a !== b && a.contains(b)` returns boolean, handles self
- hasClass: null-element guard, strict-false return
- getLocationPath: `toString().split("#")[0]` preserves the query
  string in permalinks (startup/story.js:214, 217) -- the most visible
  user-facing regression, causing ?lang=de etc. to silently drop.

IE-only fallbacks in Math.sign, strEndsWith, domContains, and
domMatchesSelector are removed; TW5 no longer supports IE.

Covered by the regression specs added in the previous commit.

* make comments more refined
2026-05-05 15:27:40 +01:00
Jeremy Ruston
fff648b959 Exclude Claude from npm (#9847) 2026-05-05 10:28:28 +01:00
Mario Pietsch
e1cff6068c Fix SelectWidget multi-select highlight regression for options containing HTML (#9839) (#9841)
PR #8093 used `child.children.length === 0` to distinguish a plain <option> from an <optgroup>. This test misfires when an <option> contains inline HTML.

E.g. tc-tiddlylink anchors auto-generated for "$:/..." titles.
So on refresh the option's `selected` state was never restored.

- This change switches to a tagName check.
- Adds a regression test plus a guard for the original PR #8092 optgroup
behaviour.
2026-05-05 10:23:36 +01:00
Mario Pietsch
6721164f15 Add a new test that fails, because a missing typeof test in fakedom.js (#9840)
* Add a new test that fails, because a missing typeof test in fakedom.js

* Add typeof strint fix to fakedom to avoid throw
2026-05-05 11:20:49 +02:00
buggyj
3c37aa267d Fix for #9834 Widgets are compiled before modules are loaded (#9835) 2026-05-05 10:16:21 +01:00
Jeremy Ruston
a603146b3c Update version number to v5.4.1 2026-05-05 10:13:05 +01:00
Mario Pietsch
f992f4ffab Fix 9826 min height issue (#9828)
* Add new tests

* fix 9826 minHeight handling + docs
2026-05-05 10:11:01 +01:00
Jeremy Ruston
ea84baa5a3 Merge branch 'tiddlywiki-com' 2026-04-21 20:24:23 +01:00
Mario Pietsch
a4e4d36bf6 Fix Typo in Link in Multi-Valued Variables (#9824) 2026-04-20 21:31:52 +01:00
Mario Pietsch
3ed481b2e2 Update the Archive and Release Notes Description (#9823) 2026-04-20 21:31:09 +01:00
Jeremy Ruston
27c60ff58d Prepare for v5.5.0 2026-04-20 20:03:12 +01:00
Jeremy Ruston
748ef8aa8d New release should be first thumbnail 2026-04-20 19:56:08 +01:00
Jeremy Ruston
9cfa5a29fb Version number update for 5.4.0 2026-04-20 19:36:07 +01:00
Jeremy Ruston
5ea43ce212 Revert package.json 2026-04-20 19:35:55 +01:00
Jeremy Ruston
df6bbbdedf More v5.4.0 preparations 2026-04-20 19:33:07 +01:00
Jeremy Ruston
37a461323e Preparing for release of v5.4.0 2026-04-20 19:31:36 +01:00
Cameron Fischer
b29da7baac I didn't capitalize one of the instances of my name (#9822) 2026-04-19 16:42:52 +01:00
Mario Pietsch
75b54457ed German translations update (#9821)
* German translations update

* fix typo
2026-04-18 15:16:32 +01:00
superuser-does
51f322c3c6 [5.4.0] Add release note for Greek translation update (#9818)
* [5.4.0] Add release note for Greek translation update

Add release note for #9782

* Remove trailing newline
2026-04-18 14:03:27 +01:00
lin onetwo
853af2d848 Fix: limit macro call parser to need >> to work, prevent > in regex (#9813)
* fix: limit macro call parser to need >> to work, prevent > in regex

* test: add malformed macro parameter regression coverage

The parser fix on this branch only changes parseMacroParameterAsAttribute() when an unquoted value starts with <<, so the previous broader parser tests did not prove the regression. Add a focused structural test that fails without the guard and passes with it.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* Revert "fix: limit macro call parser to need >> to work, prevent > in regex"

This reverts commit f96b062902.

* lint: test

* Reapply "fix: limit macro call parser to need >> to work, prevent > in regex"

This reverts commit 075f7cc282.

---------

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-18 09:59:22 +01:00
Jeremy Ruston
2c1cb33081 Restore v5.3.8 handling of malformed attribute syntax (#9812)
Also add a bunch of tests

Fixes #9808
2026-04-18 09:56:22 +01:00
Keiran Harcombe
2f63abc12a Merge pull request #9809 from kjharcombe/master
Remove CNAME
2026-04-15 10:34:50 +01:00
Keiran Harcombe
5f80256576 Remove CNAME
I've removed the CNAME file which is blocking access to Yunohost
2026-04-14 12:44:30 +01:00
Jeremy Ruston
aa837300d0 Update Chinese translation change note 2026-04-13 17:10:03 +01:00
Bram Chen
7f2baa17a9 Update chinese translations (#9804)
* Update chinese translations

* Update languages/zh-Hans/ControlPanel.multids (commit 33b2f51)
* Update languages/zh-Hant/ControlPanel.multids (commit 33b2f51)
* Update languages/zh-Hans/Import.multids (commit b673651)
* Update languages/zh-Hant/Import.multids (commit b673651)
* Update languages/zh-Hans/TiddlerInfo.multids (commit 0177f09, cd8b1fa )
* Update languages/zh-Hant/TiddlerInfo.multids (commit 0177f09, cd8b1fa )
* Add languages/zh-Hant/Draft.multids (commit 9c09841)

* Update chinese translations

* Clarify wording of tiddler info cascade view
2026-04-13 17:08:23 +01:00
Jeremy Ruston
39c6d8fb53 Missing change notes
Fixes #9773
2026-04-12 14:50:40 +01:00
Jeremy Ruston
9afe5226f1 Clarify wording of tiddler info cascade view 2026-04-12 14:33:52 +01:00
Jeremy Ruston
94aa37fe7e Merge branch 'tiddlywiki-com' 2026-04-11 08:38:49 +01:00
superuser-does
1e9c1ef82a [DOCS] Fix MWS Banner image display (#9801) 2026-04-11 08:45:27 +02:00
Saq Imtiaz
6cde5e94ff Update pr-validation.yml to use Cerebrus v8.1 2026-04-11 08:45:01 +02:00
Saq Imtiaz
fd0d3ccc27 Revert "Replace fill rules in tw5.com edition (#9624)" (#9800)
This reverts commit dc764b3a4a.
2026-04-10 12:23:37 +02:00
Saq Imtiaz
1ad2e66cbc Revert "Use currentColor to style svg (#9316)" (#9799)
This reverts commit dc7f2a57bb.
2026-04-10 12:23:07 +02:00
Saq Imtiaz
4699db9f89 Revert "Fix side effects of PR 9316 (#9568)" (#9798)
This reverts commit bf7c0b575c.
2026-04-10 12:22:41 +02:00
lin onetwo
d977b0ac5c Fix #9788: only allow colon-separator named params with strict identifiers (#9791)
The reAttributeName regexp in parseMacroParameterAsAttribute was too
permissive, allowing single-character names like dollar sign followed by
colon. This caused values such as dollar-colon-slash-plugins-foo to be
mis-parsed as a named parameter dollar with value slash-plugins-foo.

Fix: when the separator is colon (legacy syntax), require the parameter
name to match [A-Za-z0-9-_]+ (same as the historic parseMacroParameter).
When the separator is equals (new-style dynamic parameters from #9055),
the wide character set is preserved so that names like double-dollar-one
continue to work.

Adds regression test Transclude/Procedures/Dollar/Param.
2026-04-10 11:06:07 +02:00
Saq Imtiaz
7298684951 Update package.json to resolve CI issues 2026-04-10 08:35:32 +02:00
Mario Pietsch
f78d8252af Fix issue #9795 tree view regression (#9796) 2026-04-10 08:29:54 +02:00
Saq Imtiaz
54260b5be8 Updates Cerebrus action to v8.1 (#9793)
* Update pr-check-build-size.yml

* Update pr-comment-build-size.yml

* Update pr-validation.yml
2026-04-09 09:13:45 +02:00
IchijikuIchigo
95f12eb857 [ja_JP] Update of Japanese translations (#9792)
* [ja_JP] Japanese translation update from commit: a71ac56

* [ja_JP] Japanese translation update from commit: 32a3a3e

* [ja_JP] Japanese translation update from commit: 65fcded

* [ja_JP] Japanese translation update from commit: a3acbaa

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\functions\Functions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\functions\Functions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\definitions\Base64.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\definitions\Definitions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\definitions\Cascading Style Sheets.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\definitions\Tiddlyhost.tid'
2026-04-07 14:56:55 +02:00
IchijikuIchigo
207a68cc59 [ja_JP] Japanese translation update - 'Reference' section of tiddlywiki.com (#9790)
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\reference\Reference.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\concepts\WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Horizontal Rules in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\_tw_shared\doc-utilities\wikitext-macros.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Block Quotes in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Code Blocks in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Conditional Shortcut Syntax.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Block Quotes in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Block Quotes in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Dashes in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Description Lists in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Filtered Attribute Values.tid'

* [ja-JP] A little correction to the Japanese translation

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Formatting in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Headings in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Paragraphs in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Hard Linebreaks in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Hard_Linebreaks_with_CSS.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Hard_Linebreaks_with_CSS_-_Example.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\HTML Entities.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Literal Attribute Values.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Lists in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Tables in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Table Classes Captions Headers and Footers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Transcluded Attribute Values.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Utility Classes.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Widgets in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\parser\WikiText Parser Modes.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\HTML in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\HTML_Links_in_WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Typed Blocks in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Anchor Links using HTML.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Linking in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Macro Calls.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Macro Definitions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Macro Parameter Handling.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Substituted Attribute Values.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Substituted Attribute Values.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\Concatenating variables to create a URL.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\Concatenating a text reference to create a URL.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\procedures\Procedure Calls.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\procedures\Procedure Definitions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\procedures\Procedure Parameter Handling.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Transclusion and Substitution.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Transclusion in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Transclusion Basic Usage.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Transclusion Basic Usage.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Transclusion with Templates.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Variable Attribute Values.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\variables\Behaviour of variables invoked via widget attributes.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Tables in WikiText CSS Utility Classes.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Widget Attributes.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\concepts\TemplateTiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\concepts\Transclusion.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\parser\table-example.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\parser\WikiText parser mode_ transclusion examples.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\concepts\TextReference.tid'
2026-04-06 11:34:48 +02:00
superuser-does
b434b9d7ea [DOCS] Include description lists in lists tiddler (#9786) 2026-04-05 10:55:36 +01:00
superuser-does
b0013333de [DOCS] Expand description list documentation (#9784)
* [DOCS] Expand description list documentation

* remove stray word
2026-04-05 10:15:15 +01:00
superuser-does
bcc30e305a Update Greek translation for 5.4.0 (#9782)
* Update Greek translation for 5.4.0

* Add Greek translation for Draft

* Correction to 'Saving'
2026-04-04 14:08:54 +01:00
Jeremy Ruston
34f4dfb903 Merge branch 'tiddlywiki-com' 2026-04-04 09:23:58 +01:00
superuser-does
32a3a3e478 [DOCS] Clean up Forums tiddler (#9780) 2026-04-04 08:49:55 +01:00
Bram Chen
c6520c4429 Update chinese translations (#9781)
* Update languages/zh-Hans/ControlPanel.multids (commit 33b2f51)
* Update languages/zh-Hant/ControlPanel.multids (commit 33b2f51)
* Update languages/zh-Hans/Import.multids (commit b673651)
* Update languages/zh-Hant/Import.multids (commit b673651)
* Update languages/zh-Hans/TiddlerInfo.multids (commit 0177f09, cd8b1fa )
* Update languages/zh-Hant/TiddlerInfo.multids (commit 0177f09, cd8b1fa )
* Add languages/zh-Hant/Draft.multids (commit 9c09841)
2026-04-04 08:48:34 +01:00
Jeremy Ruston
83d242fb2c Merge branch 'tiddlywiki-com' 2026-04-03 11:10:58 +01:00
Jeremy Ruston
ecafb7a4c0 A very minor tweak to the donation graphic
Spot the difference; the wonky text was offending me
2026-04-03 11:10:45 +01:00
Jeremy Ruston
0640e0abe2 Merge branch 'tiddlywiki-com' 2026-04-03 11:00:11 +01:00
Jeremy Ruston
a71ac56cc9 More prominent donations link 2026-04-03 10:49:26 +01:00
Jeremy Ruston
f518bdf27c Hire Jeremy banner now defaults to just being in the sidebar 2026-04-03 10:49:14 +01:00
Jeremy Ruston
0387b1100b Update CI dependencies 2026-04-01 17:13:32 +01:00
Jeremy Ruston
c3a73fccd1 Fixed typo in v5.3.8 change note 2026-04-01 17:00:29 +01:00
Jeremy Ruston
c25659d87c Restore compact call syntax (#9778)
* Initial commit

* Oops broken test
2026-04-01 15:22:42 +02:00
Saq Imtiaz
0c26a75472 Updates cerebrus action to v8 (#9779)
* Update pr-validation.yml

* Update pr-comment-build-size.yml

* Update pr-check-build-size.yml
2026-04-01 15:21:16 +02:00
190 changed files with 4468 additions and 309 deletions

View File

@@ -10,12 +10,12 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "${{ env.NODE_VERSION }}"
- run: "./bin/ci-test.sh"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: playwright-report
@@ -30,8 +30,8 @@ jobs:
TW5_BUILD_MAIN_EDITION: "./editions/prerelease"
TW5_BUILD_OUTPUT: "./output/prerelease"
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "${{ env.NODE_VERSION }}"
- run: "./bin/ci-pre-build.sh"
@@ -62,8 +62,8 @@ jobs:
TW5_BUILD_OUTPUT: "./output"
TW5_BUILD_ARCHIVE: "./output"
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "${{ env.NODE_VERSION }}"
- run: "./bin/ci-pre-build.sh"

View File

@@ -20,7 +20,7 @@ jobs:
steps:
- name: build-size-check
id: get_sizes
uses: TiddlyWiki/cerebrus@v8
uses: TiddlyWiki/cerebrus@v8.1
with:
pr_number: ${{ github.event.pull_request.number }}
repo: ${{ github.repository }}

View File

@@ -25,7 +25,7 @@ jobs:
steps:
- name: Build and check size
uses: TiddlyWiki/cerebrus@v8
uses: TiddlyWiki/cerebrus@v8.1
with:
pr_number: ${{ inputs.pr_number }}
repo: ${{ github.repository }}

View File

@@ -15,7 +15,7 @@ jobs:
steps:
# Step 1: Validate PR paths
- name: Validate PR Paths
uses: TiddlyWiki/cerebrus@v8
uses: TiddlyWiki/cerebrus@v8.1
with:
pr_number: ${{ github.event.pull_request.number }}
repo: ${{ github.repository }}
@@ -26,7 +26,7 @@ jobs:
# Step 2: Validate change notes
- name: Validate Change Notes
uses: TiddlyWiki/cerebrus@v8
uses: TiddlyWiki/cerebrus@v8.1
with:
pr_number: ${{ github.event.pull_request.number }}
repo: ${{ github.repository }}

View File

@@ -3,3 +3,4 @@
tmp/
output/
node_modules/
.claude/

View File

@@ -5,7 +5,7 @@
# Default to the current version number for building the plugin library
if [ -z "$TW5_BUILD_VERSION" ]; then
TW5_BUILD_VERSION=v5.4.0
TW5_BUILD_VERSION=v5.4.1.
fi
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"

View File

@@ -45,7 +45,7 @@ git clone --depth=1 --branch=main "https://github.com/TiddlyWiki/tiddlywiki.org-
# Make the CNAME file that GitHub Pages requires
echo "tiddlywiki.org" > $TWORG_BUILD_OUTPUT/CNAME
# echo "tiddlywiki.org" > $TWORG_BUILD_OUTPUT/CNAME
# Delete any existing static content

File diff suppressed because one or more lines are too long

View File

@@ -10,7 +10,7 @@ Advanced/ShadowInfo/Shadow/Hint: The tiddler <$link to=<<infoTiddler>>><$text te
Advanced/ShadowInfo/Shadow/Source: It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>
Advanced/ShadowInfo/OverriddenShadow/Hint: It is overridden by an ordinary tiddler
Advanced/CascadeInfo/Heading: Cascade Details
Advanced/CascadeInfo/Hint: These are the view template segments (tagged <<tag "$:/tags/ViewTemplate">>) using a cascade filter and their resulting template for the current tiddler.
Advanced/CascadeInfo/Hint: These are the view template segments that are resolved for each of the system view template cascades
Advanced/CascadeInfo/Detail/View: View
Advanced/CascadeInfo/Detail/ActiveCascadeFilter: Active cascade filter
Advanced/CascadeInfo/Detail/Template: Template

View File

@@ -156,14 +156,13 @@ Fix the height of textarea to fit content
FramedEngine.prototype.fixHeight = function() {
// Make sure styles are updated
this.copyStyles();
// If .editRows is initialised, it takes precedence
if(this.widget.editTag === "textarea" && !this.widget.editRows) {
if(this.widget.editTag === "textarea") {
if(this.widget.editAutoHeight) {
if(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {
var newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);
this.iframeNode.style.height = newHeight + "px";
}
} else {
} else if(!this.widget.editRows) {
var fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,"400px"),10);
fixedHeight = Math.max(fixedHeight,20);
this.domNode.style.height = fixedHeight + "px";

View File

@@ -100,13 +100,12 @@ SimpleEngine.prototype.getText = function() {
Fix the height of textarea to fit content
*/
SimpleEngine.prototype.fixHeight = function() {
// If .editRows is initialised, it takes precedence
if((this.widget.editTag === "textarea") && !this.widget.editRows) {
if(this.widget.editTag === "textarea") {
if(this.widget.editAutoHeight) {
if(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {
$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);
}
} else {
} else if(!this.widget.editRows) {
var fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,"400px"),10);
fixedHeight = Math.max(fixedHeight,20);
this.domNode.style.height = fixedHeight + "px";

View File

@@ -239,7 +239,7 @@ exports.parseMacroInvocationAsTransclusion = function(source,pos) {
pos = token.end;
// Check that the tag is terminated by a space or >>, and that there is a closing >> somewhere ahead
if(!(source.charAt(pos) === ">" && source.charAt(pos + 1) === ">") ) {
if(!$tw.utils.parseWhiteSpace(source,pos) || source.indexOf(">>",pos) === -1) {
if(source.indexOf(">>",pos) === -1) {
return null;
}
}
@@ -326,7 +326,8 @@ exports.parseMacroParameterAsAttribute = function(source,pos) {
};
// Define our regexps
var reAttributeName = /([^\/\s>"'`=:]+)/y,
reUnquotedAttribute = /((?:(?:>(?!>))|[^\s>"'])+)/y,
reStrictIdentifier = /^[A-Za-z0-9\-_]+$/,
reUnquotedAttribute = /(?!<<)((?:(?:>(?!>))|[^\s>"'])+)/y,
reFilteredValue = /\{\{\{([\S\s]+?)\}\}\}/y,
reIndirectValue = /\{\{([^\}]+)\}\}/y,
reSubstitutedValue = /(?:```([\s\S]*?)```|`([^`]|[\S\s]*?)`)/y;
@@ -337,6 +338,11 @@ exports.parseMacroParameterAsAttribute = function(source,pos) {
namePos = nameToken && $tw.utils.skipWhiteSpace(source,nameToken.end),
separatorToken = nameToken && $tw.utils.parseTokenRegExp(source,namePos,/=|:/y),
isNewStyleSeparator = false; // If there is no separator then we don't allow new style values
// Colon separator requires a strict identifier name to avoid mis-parsing values like $:/foo
if(nameToken && separatorToken && separatorToken.match[0] === ":" && !reStrictIdentifier.test(nameToken.match[1])) {
nameToken = null;
separatorToken = null;
}
// If we have a name and a separator then we have a named attribute
if(nameToken && separatorToken) {
node.name = nameToken.match[1];
@@ -570,6 +576,9 @@ exports.parseAttribute = function(source,pos) {
pos = unquotedValue.end;
node.type = "string";
node.value = unquotedValue.match[1];
} else if(source.charAt(pos) === "<" && source.charAt(pos + 1) === "<" && source.indexOf(">>",pos) !== -1) {
// Value looks like a macro invocation (starts with << with a closing >> ahead) but does not parse as one. Return null so the enclosing tag fails to parse rather than silently binding the attribute to "true" and treating the remainder as further attributes (restores v5.3.8 behaviour)
return null;
} else {
node.type = "string";
node.value = "true";

View File

@@ -40,6 +40,8 @@ exports.startup = function() {
// The rest of the startup process here is not strictly to do with loading modules, but are needed before other startup
// modules are executed. It is easier to put them here than to introduce a new startup module
// --------------------------
// Set up the performance framework
$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,"no") === "yes");
// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers
$tw.rootWidget = new widget.widget({
type: "widget",
@@ -48,8 +50,6 @@ exports.startup = function() {
wiki: $tw.wiki,
document: $tw.browser ? document : $tw.fakeDocument
});
// Set up the performance framework
$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,"no") === "yes");
// Kick off the filter tracker
$tw.filterTracker = new $tw.FilterTracker($tw.wiki);
$tw.wiki.addEventListener("change",function(changes) {

View File

@@ -3,18 +3,43 @@ title: $:/core/modules/utils/deprecated.js
type: application/javascript
module-type: utils
Deprecated util functions
Deprecated util functions. These preserve the pre-5.4.0 signatures and
behaviour for backwards compatibility with plugins and external scripts.
Prefer modern alternatives in new code (Array.prototype methods, classList,
Math.sign, String.prototype.repeat, etc.).
\*/
exports.logTable = (data) => console.table(data);
exports.repeat = (str,count) => str.repeat(count);
/*
Repeats a string
*/
exports.repeat = function(str,count) {
var result = "";
for(var t=0;t<count;t++) {
result += str;
}
return result;
};
exports.startsWith = (str,search) => str.startsWith(search);
/*
Check if a string starts with another string
*/
exports.startsWith = function(str,search) {
return str.substring(0, search.length) === search;
};
exports.endsWith = (str,search) => str.endsWith(search);
/*
Check if a string ends with another string
*/
exports.endsWith = function(str,search) {
return str.substring(str.length - search.length) === search;
};
/*
Trim whitespace from the start and end of a string
*/
exports.trim = function(str) {
if(typeof str === "string") {
return str.trim();
@@ -29,30 +54,54 @@ exports.sign = Math.sign;
exports.strEndsWith = (str,ending,position) => str.endsWith(ending,position);
exports.stringifyNumber = (num) => num.toString();
exports.stringifyNumber = function(num) {
return num + "";
};
// Returns the fully escaped CSS selector for a tag, e.g.
// "$:/tags/Stylesheet" -> "tc-tagged-\%24\%3A\%2Ftags\%2FStylesheet"
exports.tagToCssSelector = function(tagName) {
return "tc-tagged-" + encodeURIComponent(tagName).replace(/[!"#$%&'()*+,\-./:;<=>?@[\\\]^`{\|}~,]/mg,function(c) {
return "\\" + c;
});
};
exports.domContains = (a,b) => a.compareDocumentPosition(b) & 16;
/*
Determines whether element 'a' contains element 'b'.
Returns false when a === b (matches the original John Resig semantics).
*/
exports.domContains = function(a,b) {
return a !== b && a.contains(b);
};
exports.domMatchesSelector = (node,selector) => node.matches(selector);
exports.hasClass = (el,className) => el.classList && el.classList.contains(className);
exports.hasClass = function(el,className) {
return !!(el && el.classList && el.classList.contains(className));
};
// addClass/removeClass/toggleClass split on whitespace to preserve the
// original setAttribute("class", ...) acceptance of "foo bar" as two
// classes. Regressed in #9251.
function splitClasses(className) {
return (typeof className === "string" && className.match(/\S+/g)) || [];
}
exports.addClass = function(el,className) {
el.classList && className && el.classList.add(className);
if(!el.classList) return;
splitClasses(className).forEach(function(c) { el.classList.add(c); });
};
exports.removeClass = function(el,className) {
el.classList && className && el.classList.remove(className);
if(!el.classList) return;
splitClasses(className).forEach(function(c) { el.classList.remove(c); });
};
exports.toggleClass = function(el,className,status) {
el.classList && className && el.classList.toggle(className, status);
if(!el.classList) return;
splitClasses(className).forEach(function(c) { el.classList.toggle(c,status); });
};
exports.getLocationPath = () => window.location.origin + window.location.pathname;
exports.getLocationPath = function() {
return window.location.toString().split("#")[0];
};

View File

@@ -77,10 +77,23 @@ exports.resizeTextAreaToFit = function(domNode,minHeight) {
// Measure the specified minimum height
domNode.style.height = minHeight;
var measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);
// Temporarily force rows=1 during auto-measurement so the intrinsic floor
// is one row rather than the HTML default of two; restore afterwards
var hadRowsAttr = domNode.hasAttribute("rows"),
savedRows = hadRowsAttr ? domNode.getAttribute("rows") : null;
if(!hadRowsAttr) {
domNode.setAttribute("rows","1");
}
// Set its height to auto so that it snaps to the correct height
domNode.style.height = "auto";
// Calculate the revised height
var newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);
// Restore the original rows attribute state
if(!hadRowsAttr) {
domNode.removeAttribute("rows");
} else {
domNode.setAttribute("rows",savedRows);
}
// Only try to change the height if it has changed
if(newHeight !== domNode.offsetHeight) {
domNode.style.height = newHeight + "px";

View File

@@ -82,6 +82,11 @@ var TW_Style = function(el) {
// Return a Proxy to handle direct access to individual style properties
return new Proxy(styleObject, {
get: function(target, property) {
// Real CSSStyleDeclaration returns undefined for non-string keys.
// Guards against crashes when consumers probe Symbol.toPrimitive etc.
if(typeof property !== "string") {
return undefined;
}
// If the property exists on styleObject, return it (get, set, setProperty methods)
if(property in target) {
return target[property];
@@ -90,6 +95,10 @@ var TW_Style = function(el) {
return el._style[$tw.utils.convertStyleNameToPropertyName(property)] || "";
},
set: function(target, property, value) {
// Mirror the get trap: ignore non-string keys instead of crashing.
if(typeof property !== "string") {
return true;
}
// Set the property in _style
el._style[$tw.utils.convertStyleNameToPropertyName(property)] = value;
return true;

View File

@@ -125,13 +125,12 @@ SelectWidget.prototype.setSelectValue = function() {
values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);
for(var i=0; i < select.children.length; i++){
child=select.children[i];
if(child.children.length === 0){
child.selected = values.indexOf(child.value) !== -1;
} else {
// grouped options
if(child.tagName && child.tagName.toUpperCase() === "OPTGROUP"){
for(var y=0; y < child.children.length; y++){
child.children[y].selected = values.indexOf(child.children[y].value) !== -1;
}
} else {
child.selected = values.indexOf(child.value) !== -1;
}
}
} else {

View File

@@ -17,11 +17,13 @@ tags: $:/tags/EditTemplate
<$let backgroundColor=<<colour>> >
<span class="tc-tag-label tc-tag-list-item tc-small-gap-right"
data-tag-title=<<currentTiddler>>
style=`color:$(foregroundColor)$; background-color:$(backgroundColor)$; --tp-remove-tag-button-color:$(foregroundColor)$`
style=`color:$(foregroundColor)$; fill:$(foregroundColor)$; background-color:$(backgroundColor)$;`
>
<$transclude tiddler=<<icon>>/>
<$view field="title" format="text"/>
<$button class="tc-btn-invisible tc-remove-tag-button">
<$button class="tc-btn-invisible tc-remove-tag-button"
style.fill=<<foregroundColor>>
>
<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter="-[{!!title}]"/>
{{$:/core/images/close-button}}
</$button>

View File

@@ -2,7 +2,7 @@ title: $:/core/ui/ViewTemplate/title
tags: $:/tags/ViewTemplate
\whitespace trim
\define title-styles() color:$(foregroundColor)$;
\define title-styles() fill:$(foregroundColor)$;
<div class="tc-tiddler-title tc-clearfix">
<div class="tc-titlebar">

View File

@@ -1,6 +1,6 @@
title: $:/config/OfficialPluginLibrary
tags: $:/tags/PluginLibrary
url: https://tiddlywiki.com/library/v5.4.0/index.html
url: https://tiddlywiki.com/library/v5.4.1/index.html
caption: {{$:/language/OfficialPluginLibrary}}
{{$:/language/OfficialPluginLibrary/Hint}}

View File

@@ -3,6 +3,7 @@ tags: $:/tags/Macro
\define tag-pill-styles()
background-color:$(backgroundColor)$;
fill:$(foregroundColor)$;
color:$(foregroundColor)$;
\end

View File

@@ -21,7 +21,7 @@ tags: $:/tags/Macro
style="width:$width$px;height:$height$px;background-color:$background-color$;"
></$reveal></div><div
class="tc-thumbnail-icon"
style="color:$color$;"
style="fill:$color$;color:$color$;"
>$icon$</div><div class="tc-thumbnail-caption">$caption$</div></div></$link>
\end

View File

@@ -0,0 +1,15 @@
created: 20251021142729667
modified: 20260327113434425
original-modified: 20251021142729667
tags:
title: Concatenating a text reference to create a URL
ja-title: テキスト参照を連結してURL作成
type: text/vnd.tiddlywiki
!! 変数とテキスト参照を連結してURLを作成する
<$macrocall $name=wikitext-example src="""<$let hash={{{ [<currentTiddler>encodeuricomponent[]] }}}>
<a href=`${ [{!!base-url}] }$#$(hash)$`>これはtiddlywiki.comのTiddlerです</a>
</$let>"""/>
参照: [[置換属性値|Substituted Attribute Values]]

View File

@@ -0,0 +1,15 @@
created: 20251021142733998
modified: 20260327113417322
original-modified: 20251021142733998
tags:
title: Concatenating variables to create a URL
ja-title: 変数を連結してURL作成
type: text/vnd.tiddlywiki
!! 文字列と変数を連結してURLを作成する
<$macrocall $name=wikitext-example src="""<$let hash={{{ [<currentTiddler>encodeuricomponent[]] }}}>
<a href=`http://tiddlywiki.com/#$(hash)$`>これはtiddlywiki.comのTiddlerです</a>
</$let>"""/>
参照: [[置換属性値|Substituted Attribute Values]]

View File

@@ -0,0 +1,91 @@
code-body: yes
created: 20150117184156000
modified: 20260217110459190
original-modified: 20240716181836632
tags: $:/tags/Macro
title: $:/editions/tw5.com/wikitext-macros
ja-title: $:/editions/tw5.com/wikitext-macros
type: text/vnd.tiddlywiki
\whitespace trim
\procedure activatePluginTab()
<$action-setfield $tiddler="$:/state/tab-1749438307" text="$:/core/ui/ControlPanel/Plugins"/>
<$action-navigate $to="$:/ControlPanel"/>
\end
\procedure activateTiddlerWindow()
<$action-sendmessage $message="tm-open-window" $param=<<currentTiddler>> windowTitle="Side by Side View" width="800" height="600" />
\end
\procedure controlPanel-plugin-link()
<$button actions=<<activatePluginTab>> class="tc-btn-invisible tc-tiddlylink">
{{$:/core/images/options-button}} ~ControlPanel
</$button>
\end
\procedure open-tiddler-in-window()
\whitespace notrim
<$button actions=<<activateTiddlerWindow>> class="tc-btn-invisible tc-tiddlylink">
''この''Tiddlerを新しいウィンドウで開く
</$button>
\end
\procedure activateEditionWindow(url)
<$action-sendmessage $message="tm-open-external-window" $param=<<url>> windowName="_edition" windowFeatures="width=800 height=600" />
\end
\procedure open-external-window(url)
\whitespace notrim
<$button actions=<<activateEditionWindow <<url>> class="tc-btn-invisible tc-tiddlylink">
''サンプル''を新しいウィンドウで開く
</$button>
\end
\procedure wikitext-example(src)
<div class="doc-example">
<$macrocall $name="copy-to-clipboard-above-right" src=<<src>>/>
<$codeblock code=<<src>>/>
<p>
次のように表示されます:
</p>
<$transclude $variable="src" $mode="block"/>
<p>
... そして、土台となるHTMLは次のようになります:
</p>
<$wikify name="html" text=<<src>> output="html">
<$codeblock code=<<html>>/>
</$wikify>
</div>
\end
\procedure wikitext-example-without-html(src)
<div class="doc-example">
<$macrocall $name="copy-to-clipboard-above-right" src=<<src>>/>
<$codeblock code=<<src>>/>
<p>
次のように表示されます:
</p>
<$transclude $variable="src" $mode="block"/>
</div>
\end
\procedure wikitext-example-table-header() <thead><tr><th/><th>wiki text</th><th>renders as</th></tr></thead>
\procedure wikitext-example-table-row(id, code)
<tr>
<th><<id>></th>
<td><$codeblock code=<<code>>/></td>
<td><$transclude $variable="code" $mode="block"/></td>
</tr>
\end
\procedure tw-code(tiddler)
<$codeblock language={{{ [<tiddler>get[type]] }}} code={{{ [<tiddler>get[text]] }}}/>
\end
\procedure tw-code-link(tiddler)
<$link to=<<tiddler>>/>:
<$transclude $variable=tw-code tiddler=<<tiddler>> />
\end

View File

@@ -0,0 +1,17 @@
title: Donations
ja-title: 寄付
tags: About HelloThere
modified: 20260406043554401
original-modified: 20260403103452943
created: 20260403103452943
<a href="https://opencollective.com/tiddlywiki" class="tc-btn-invisible" target="_blank">
{{TiddlyWiki Donation Graphic}}
</a>
TiddlyWikiは無料のオープンソースプロジェクトであり、ホスティング費用を賄い、プロジェクトの継続的な成長を支えるために、皆様からの寛大なご寄付に頼っています。
こちらから寄付できます:
https://opencollective.com/tiddlywiki
TiddlyWikiの資金調達に関する詳細情報や、プロジェクトを支援する方法については、[[TiddlyWikiへの資金提供|Funding TiddlyWiki]]をご覧ください。

View File

@@ -1,5 +1,5 @@
created: 20140721121924384
modified: 20241002115027813
modified: 20260406052319609
original-modified: 20240925113748341
tags: Community
title: Forums
@@ -7,19 +7,17 @@ ja-title: フォーラム
caption: フォーラム
type: text/vnd.tiddlywiki
!!! ユーザー
! ユーザーフォーラム
TiddlyWiki公式フォーラムは、~TiddlyWikiについて話し合う場です。ヘルプのリクエスト、新しいリリースやプラグインの[[アナウンス|https://talk.tiddlywiki.org/c/announcements/20]]、新機能の議論、または単にエクスペリエンスを共有するなどできます。関連するWebサイトから参加することも、電子メールで購読することもできます。
!! Talk ~TiddlyWiki
公式~TiddlyWikiフォーラムとして、Talk ~TiddlyWikiは、~TiddlyWikiについて話し合う場です: ヘルプのリクエスト、新しいリリースやプラグインの[[アナウンス|https://talk.tiddlywiki.org/c/announcements/20]]、新機能の議論、または単にエクスペリエンスを共有するなどできます。関連するWebサイトから参加することも、電子メールで購読することもできます。
https://talk.tiddlywiki.org/
その他のフォーラム:
!! Googleグループ
!!! Googleグループ
<<<
既存ユーザーの便宜を図るため、オリジナルの~TiddlyWikiグループ(2005年からGoogleグループでホストされている)も引き続き運営しています。: https://groups.google.com/group/TiddlyWiki
<<<
既存ユーザーの便宜を図るため、オリジナルの~TiddlyWikiグループ(2005年からGoogleグループでホストされている)も引き続き運営しています: https://groups.google.com/group/TiddlyWiki
! 開発者フォーラム
@@ -27,9 +25,5 @@ https://talk.tiddlywiki.org/
! その他のフォーラム
* [[TiddlyWikiサブレディット|https://www.reddit.com/r/TiddlyWiki5/]]
* https://discord.gg/HFFZVQ8 でDiscordでチャット
!! 開発者
{{Developers}}
* TiddlyWikiサブレディット: [[/r/TiddlyWiki5|https://www.reddit.com/r/TiddlyWiki5/]]
* https://discord.gg/HFFZVQ8 でDiscordでチャット

View File

@@ -0,0 +1,20 @@
created: 20140107114355828
modified: 20260406000640400
original-modified: 20150220160920000
tags: Concepts
title: TemplateTiddlers
ja-title: テンプレートTiddler
type: text/vnd.tiddlywiki
テンプレートTiddlerは、実際にはTiddlerの一種ではなく、Tiddlerが使用される役割の一つです。
テンプレートは、[[Wikiテキスト|WikiText]]の断片を再利用する方法です。
テンプレートを介したトランスクルージョンは、2つのTiddlerを組み合わせることで、[[トランスクルージョン|Transclusion]]の基本機能を拡張します:
* 表示する[[Wikiテキスト|WikiText]]を含むテンプレートTiddler。[[現在のTiddler|Current Tiddler]]内のフィールドを参照するトランスクルージョンを含めることができます。
* フィールドへの参照を解決する際に、現在のTiddlerとして扱われるターゲットTiddler
テンプレートの最も優れた例は、TiddlyWikiのメインストーリーリバーです。ストーリーリバー内の各Tiddlerは、各フィールドのレンダリング方法を指定するViewTemplateを介してレンダリングされます。
詳細については、[[テンプレートを使用したトランスクルージョン|Transclusion with Templates]]を参照してください。

View File

@@ -0,0 +1,36 @@
created: 20130827075900000
modified: 20260406013639263
original-modified: 20230321130421587
tags: Concepts
title: TextReference
ja-title: テキスト参照
type: text/vnd.tiddlywiki
[[テキスト参照|TextReference]]は、テキストの断片をTiddlerのフィールドや[[データTiddler|DataTiddlers]]内のインデックスとして記述するための汎用的な方法です。
状況に応じて、テキスト参照を使用して値を取得したり、変更すべき値を指定したりすることができます。
[[テキスト参照|TextReference]]はいくつかのパーツから構成されます:
* 対象Tiddlerのタイトル。省略した場合、デフォルトで[[現在のTiddler|Current Tiddler]]が使用されます
* 以下のいずれか:
** フィールド名(`!!`でマークされます)
** [[データTiddler|DataTiddlers]]内のインデックス名(`##`でマークされます)
* フィールドとインデックスの両方が省略された場合、textフィールドがデフォルトとして使用されます
テキスト参照のほとんどのパーツは省略可能です:
* `tiddlerTitle` - 指定したTiddlerのtitle[[フィールド|TiddlerFields]]
* `tiddlerTitle!!field` - [[Tiddlerのフィールド|TiddlerFields]] (例: `modified`、`modifier`、`type` など)
* `!!field` - 現在のTiddlerの[[フィールド|TiddlerFields]]
* `tiddlerTitle##propertyIndex` - DataTiddlersから名前付きプロパティを抽出
テキスト参照は、以下の場所で使用できます:
* [[フィルタ|Filters]]内の[[間接パラメータ|Filter Parameter]]として (例: `<$list filter="[tag{MyTag!!name}]"/>`)
* 要素やウィジェットの[[間接属性|HTML in WikiText]]として (例: `<$widget attrib={{Title!!description}}/>`)
* トランスクルージョンショートカットのパラメータとして (例: `{{MyTiddler!!title}}`)
* [[Revealウィジェット|RevealWidget]]と[[LinkCatcherウィジェット|LinkCatcherWidget]]の`state`属性として
<$macrocall $name=".tip" _="""`foo!!bar`のようなテキスト参照と`{{foo!!bar}}`のようなテキスト参照のトランスクルージョンの違いに注意してください"""/>

View File

@@ -0,0 +1,31 @@
created: 20141129194651420
modified: 20260406001216888
original-modified: 20240621074019077
tags: Concepts Definitions
title: Transclusion
ja-title: トランスクルージョン
! 定義
<<< Wikipedia: [[トランスクルージョン|https://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%82%AF%E3%83%AB%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3]]
コンピュータ科学において、トランスクルージョンとは、ハイパーテキストを介した参照によって、電子文書の一部または全部を他の1つまたは複数の文書に組み込むことを指します。
<<<
~TiddlyWikiでは、''トランスクルージョン''とは、あるTiddler "A"を別のTiddler "B"から参照するプロセスであり、"A"の内容が"B"の一部であるかのように見せかけるものです。
コンテンツをコピーペーストすると、同じコンテンツが複数の場所に複製されてしまいます。一方、トランスクルージョンでは、単一のコピーと、Tiddler "A"からコンテンツを挿入する位置を示す特別な指示が"B"に記述されるだけで済みます。
"A"の内容が変更されると、"B"にも自動的に変更内容が反映されることに注意してください。これにより、コンテンツを1か所に記述し、複数の場所から閲覧できるため、繰り返し使用するコンテンツの管理が容易になります。
トランスクルージョンの概念は、小さなコンテンツを組み合わせる主要な方法であるため、[[Tiddlerの哲学|Philosophy of Tiddlers]]において重要な役割を果たしています。
詳細はこちらをご覧ください:
* [[Wikiテキストでのトランスクルージョン|Transclusion in WikiText]]
* [[トランスクルージョンの基本的な使用法|Transclusion Basic Usage]]
* [[テンプレートを使用したトランスクルージョン|Transclusion with Templates]]
* [[トランスクルージョンと置換|Transclusion and Substitution]]
* [[テキスト参照|TextReference]]
* [[テンプレートTiddler|TemplateTiddlers]]
* [[Transcludeウィジェット|TranscludeWidget]]
* [[ハードトランスクルージョンとソフトトランスクルージョン|Hard and Soft Transclusions]]

View File

@@ -0,0 +1,17 @@
created: 20131205155227468
modified: 20260216114242627
original-modified: 20230303214711802
tags: Concepts Reference
title: WikiText
ja-title: Wikiテキスト
type: text/vnd.tiddlywiki
WikiTextは、広範囲のテキストフォーマット、ハイパーテキスト、インタラクティブ機能を入力するための簡潔で表現力豊かな方法です。複雑なユーザーインターフェイスに邪魔されることなく、執筆に集中できます。[[マークダウン|Markdown]]のユーザーにとって使いやすいように設計されていますが、リンクとインタラクティブ機能に重点が置かれています
[[エディターツールバー|Editor toolbar]]ボタンを使用して、Wikiテキストをテキストフィールドに挿入することもできます
Wikiテキストの概要については、[[Wikiテキストのフォーマット|Formatting in WikiText]]と[[TiddlyWikiのテキストフォーマット|Formatting text in TiddlyWiki]]を参照してください
次の要素のWikiテキスト構文がコアに組み込まれています:
<<list-links filter:"[tag[WikiText]]" class:"multi-columns">>

View File

@@ -0,0 +1,9 @@
created: 20150221180826000
modified: 20260406063958939
original-modified: 20150221181700000
tags: Definitions
title: Base64
ja-title: Base64
type: text/vnd.tiddlywiki
<<.dlink-ex Base64 "https://en.wikipedia.org/wiki/Base64">>は、画像などのバイナリデータをテキスト文字列として表現する方法です

View File

@@ -0,0 +1,9 @@
created: 20150221120651000
modified: 20260406064757649
original-modified: 20150221181705000
tags: Definitions
title: Cascading Style Sheets
ja-title: カスケーディングスタイルシート(CSS)
type: text/vnd.tiddlywiki
<<.dlink-ex CSS "https://en.wikipedia.org/wiki/Cascading_Style_Sheets">>は、Webページ上のさまざまな要素の表示スタイルを定義するために使用される標準プレーンテキスト形式です

View File

@@ -0,0 +1,12 @@
color: #7bb95d
created: 20130825145100000
modified: 20260406064409034
original-modified: 20250104111522881
title: Definitions
ja-title: 定義
tags: Reference
type: text/vnd.tiddlywiki
これらは、このドキュメントで使用される技術的なワードやフレーズの定義です(TiddlyWiki自体を構成する[[コンセプト|Concepts]]とは異なります)
<<list-links "[tag[Definitions]]" class:"multi-columns">>

View File

@@ -0,0 +1,13 @@
created: 20230410105035569
modified: 20260406065237731
original-modified: 20230410105035569
tags: Definitions
title: Tiddlyhost
ja-title: Tiddlyhost
type: text/vnd.tiddlywiki
<span style="float:right;">[img width=140 [Tiddlyhost Logo]]</span>
[[Tiddlyhost.com|https://tiddlyhost.com/]]は、Simon Bairdによって作成されたTiddlyWikiのホスティングサービスです。サインアップして電子メールを確認すると、オンライン保存をサポートする"サイト"(つまり、~TiddlyWiki)を作成できます。サイトはプライベートやパブリックにすることができ、オプションでタグ付け可能で検索可能な[[Tiddlyhostハブ|https://tiddlyhost.com/hub]]にサイトをリストし、他のユーザーが見付けられるようにすることもできます。
[[TiddlySpot|Saving on TiddlySpot]]とは異なり、[[Tiddlyhost|https://tiddlyhost.com]]は安全でオープンソースであり、TiddlyWiki5を適切にサポートしています。また、既存の~TiddlyWikiファイルをアップロードしたり、TiddlyWikiClassicをサポートしたり、~TiddlySpotサイトの所有権を主張したりすることもできます。詳細については、[[FAQ|https://github.com/simonbaird/tiddlyhost/wiki/FAQ]]と[[About|https://tiddlyhost.com/about]]ページをご覧ください。

View File

@@ -6,7 +6,6 @@ title: Filter Run Prefix
ja-title: フィルタランプレフィックス
type: text/vnd.tiddlywiki
There are 2 types of filter run prefixes that are interchangeable; [[named prefixes|Named Filter Run Prefix]] and [[shortcut prefixes|Shortcut Filter Run Prefix]].
交換可能なフィルタランプレフィックスには、[[名前付きプレフィックス|Named Filter Run Prefix]]と[[ショートカットプレフィックス|Shortcut Filter Run Prefix]]の2種類があります。
<$railroad text="""

View File

@@ -0,0 +1,30 @@
created: 20221009124003601
modified: 20260406063825386
original-modified: 20240422084850412
tags: Concepts [[Core Functions]]
title: Functions
ja-title: 関数
type: text/vnd.tiddlywiki
!! イントロダクション
<<.from-version "5.3.0">> <<.def 関数>> は、 [[フィルタ式|Filter Expression]] を含むテキストの名前付きスニペットです。関数には、関数内で変数として使用できる名前付きパラメータを持つことができます
関数は通常、 [[プラグマ: \function|Pragma: \function]] で定義されます:
```
\function myfun(param:"2")
[<param>multiply[1.5]]
\end
```
関数はいくつかの方法で呼び出すことができます:
* 構文 `<<myfun param:"value">>` を使用して関数を直接トランスクルードする
* 構文 `<div class=<<myfun param:"value">>>` を使用してウィジェット属性に関数を割り当てる
* 構文 `[function[myfun],[value],...]` を使用して [[関数オペレータ|function Operator]] を介して関数を呼び出す
* 構文 `[my.fun[value]]` または `[.myfun[value]]` で、カスタムフィルター演算子として名前にピリオドが含まれる関数を直接呼び出す
!! 関数の仕組み
関数は特別な種類の [[変数|Variables]] として実装されています。通常の変数と異なる唯一の点は、パラメータの扱い方法です

View File

@@ -1,6 +1,6 @@
created: 20150414070451144
list: [[HelloThumbnail - Newsletter]] [[HelloThumbnail - Community Survey 2025]] [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - MultiWikiServer]] [[HelloThumbnail - Twenty Years of TiddlyWiki]] [[HelloThumbnail - Funding]] [[HelloThumbnail - TiddlyWiki Privacy]] [[HelloThumbnail - Marketplace]] [[HelloThumbnail - Intertwingled Innovations]] [[HelloThumbnail - TiddlyWikiLinks]]
modified: 20260208115538227
list: list: [[HelloThumbnail - Donations]] [[HelloThumbnail - Newsletter]] [[HelloThumbnail - Community Survey 2025]] [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - MultiWikiServer]] [[HelloThumbnail - Twenty Years of TiddlyWiki]] [[HelloThumbnail - TiddlyWiki Privacy]] [[HelloThumbnail - Marketplace]] [[HelloThumbnail - Intertwingled Innovations]] [[HelloThumbnail - TiddlyWikiLinks]]
modified: 20260406043045066
original-modified: 20150414070948246
title: HelloThumbnail
ja-title: ハローサムネイル

View File

@@ -2,7 +2,7 @@ title: HelloThumbnail - Community Survey 2025
ja-title: HelloThumbnail - コミュニティ調査2025
tags: HelloThumbnail
color: rgb(234, 205, 183)
image: Community Survey 2025
image: Community Survey 2025 Image
caption: コミュニティ調査
link: Community Survey 2025
ribbon-text: NEW

View File

@@ -0,0 +1,9 @@
background-color: #EDB431
caption: ~TiddlyWikiへのご支援のお願い
color: #ff0
image: TiddlyWiki Donation Graphic
link: Donations
tags: HelloThumbnail
title: HelloThumbnail - Donations
~TiddlyWikiを財政的に支援する方法をご覧ください

View File

@@ -1,10 +0,0 @@
background-color: #EDB431
caption: ~TiddlyWikiの資金調達方法
color: #ff0
image: Funding
link: Funding TiddlyWiki
tags: HelloThumbnail
title: HelloThumbnail - Funding
ja-title: HelloThumbnail - 資金調達
~TiddlyWikiを財政的にサポートする方法を説明しています

View File

@@ -1,7 +1,7 @@
background-color: #EDB431
caption: Intertwingled Innovations
color: #ff0
image: Intertwingled Innovations
image: Intertwingled Innovations Image
link: Intertwingled Innovations
tags: HelloThumbnail
title: HelloThumbnail - Intertwingled Innovations

View File

@@ -0,0 +1,28 @@
created: 20170126174506507
modified: 20260223105027444
original-modified: 20170126211042714
tags: [[Hard Linebreaks in WikiText]]
title: Hard Linebreaks with CSS
ja-title: CSSを使用した強制改行
type: text/vnd.tiddlywiki
TiddlyWikiバージョン5.1.16以降、`data-`属性を使用してカスタムスタイルを適用できるようになりました。参照: [[カスタムスタイルを適用する方法|How to apply custom styles]]
[[Custom data-styles]]スタイルシートTiddlerには、次の定義が含まれています:
```
[data-tags*="example-hardlinebreaks"] .tc-tiddler-body {
word-break: normal;
word-wrap: break-word;
white-space: pre-wrap;
}
```
タグなしでレンダリングすると、"CSSを使用した強制改行 - 例"の内容は次のように表示されます:
>{{Hard Linebreaks with CSS - Example}}
----
TIddlerを開いて、適用されているカスタムCSSルールを確認してください: [[CSSを使用した強制改行 - 例|Hard Linebreaks with CSS - Example]]

View File

@@ -0,0 +1,16 @@
created: 20170126161803543
modified: 20260223105159019
original-modified: 20170126211025840
tags: example-hardlinebreaks [[Hard Linebreaks in WikiText]]
title: Hard Linebreaks with CSS - Example
ja-title: CSSを使用した強制改行 - 例
type: text/vnd.tiddlywiki
次のテキストは、特別な[[Wikiテキスト|WikiText]]構文を使用せずに改行されます。したがって、Wikiテキストのほとんどの機能にアクセスできます
これは行です
そして、これは新しい行です
一方で、これはさらに別の行です
そして、これは最後の行です
この行は別の行です

View File

@@ -0,0 +1,58 @@
caption: プロシージャ呼び出し
created: 20221007130006705
modified: 20260327114525571
original-modified: 20230419103154329
tags: WikiText Procedures
title: Procedure Calls
ja-title: プロシージャ呼び出し
type: text/vnd.tiddlywiki
!! 紹介
このTiddlerでは、[[プロシージャ|Procedures]]を呼び出すさまざまな方法について説明します。
!! トランスクルージョンショートカットでのプロシージャ呼び出し
[[プロシージャ|Procedures]]を呼び出すには、プロシージャ名とパラメータ値を`<<`二重の山括弧で囲みます`>>`。
```
<<my-procedure param:"これはパラメータ値です">>
```
デフォルトでは、パラメータはプロシージャの定義と同じ順序でリストされます。パラメータに名前とコロンを付けることで、異なる順序でリストすることができます。
パラメータに値が指定されていない場合は、[[プロシージャ定義|Procedure Definitions]]でそのパラメータに指定されているデフォルト値が使用されます。(デフォルト値が定義されていない場合は、パラメータは空白になります。)
各パラメータ値は、`'`シングルクォーテーション`'`、`"`ダブルクォーテーション`"`、`"""`三重のダブルクォーテーション`"""`、`[[`二重の角括弧`]]`で囲むことができます。三重のダブルクォーテーションを使用すると、値にほぼあらゆる文字列を含めることができます。値にスペース、シングルクォーテーション、ダブルクォーテーションが含まれていない場合は、区切り文字は不要です。
[[パーサーモード|WikiText parser mode: macro examples]]に関する議論を参照してください。
!! <<.wlink TranscludeWidget>>ウィジェットでのプロシージャ呼び出し
ショートカット構文は、トランスクルードするプロシージャの名前を指定する`$variable`属性を持つ<<.wlink TranscludeWidget>>ウィジェットに展開されます。
```
<$transclude $variable="my-procedure" param="これはパラメータ値です"/>
```
ウィジェットは、ショートカット構文よりも柔軟性が高く、動的なパラメータ値を指定することも可能です。
!! 属性値にプロシージャ呼び出しを割り当て
プロシージャテキストは、ウィジェットやHTML要素の属性に直接割り当てることができます。プロシージャの結果はWiki化されないため、[[パラメータ処理|Procedure Parameter Handling]]は行われません。
```
<div class=<<myclasses>>>
...
</div>
```
!! フィルタでのプロシージャ呼び出しの使用
プロシージャ呼び出しはフィルタ内で使用できます。テキストはWiki化されないため、パラメータは無視されます。
```
<$list filter="[<my-procedure>]">
...
</$list>
```

View File

@@ -0,0 +1,47 @@
created: 20221007125701001
modified: 20260329104617037
original-modified: 20230921180332436
tags: WikiText Procedures
title: Procedure Definitions
ja-title: プロシージャ定義
type: text/vnd.tiddlywiki
!! 紹介
このTiddlerでは、[[プロシージャ|Procedures]]を定義するさまざまな方法について説明します。
!! プロシージャ定義プラグマ
プロシージャは、Tiddlerの先頭に[[プラグマ: \procedure|Pragma: \procedure]]を記述することで作成できます。定義は、そのプロシージャを定義したTiddlerの残りの部分、およびそのTiddlerをトランスクルードするすべてのTiddlerで使用できます。
```
\procedure my-procedure(param)
これはプロシージャのテキストです (param=<<param>>)
\end
```
[[プラグマ: \whitespace|Pragma: \whitespace]]の設定は、プロシージャ定義が行われるパースコンテキストから継承されることに注意してください。つまり、複数のプロシージャ定義を含むTiddlerの場合、Tiddlerの先頭に1つのwhitespaceプラグマを記述するだけでよく、プラグマを繰り返す必要なく、設定はプロシージャ定義に自動的に継承されます。
!! Setウィジェットを使用したプロシージャ定義
プロシージャは特殊な種類の[[変数|Variables]]として実装されているため、内部的には<<.wlink SetWidget>>ウィジェットによって定義されます。
```
<$set name="my-procedure" value="これはプロシージャのテキストです">
...
</$set>
```
<<.note """<<.wlink SetWidget>>ウィジェットを使用してプロシージャを定義する際に、現時点ではパラメータを指定することはできません。""">>
!! プロシージャ定義のインポート
[[プラグマ: \import|Pragma: \import]]や<<.wlink ImportVariablesWidget>>ウィジェットを使用すると、別のTiddlerからプロシージャ定義をコピーできます。
!! `$:/tags/Global`タグ
グローバルプロシージャは、[[システムタグ: $:/tags/Global|SystemTag: $:/tags/Global]]を使用して定義できます。
[[システムタグ: $:/tags/Global/View|SystemTag: $:/tags/Global/View]]は、メインビューテンプレートとプレビューパネル内でのみ使用可能なプロシージャを定義するために使用します。
[[システムタグ: $:/tags/Global/View/Body|SystemTag: $:/tags/Global/View/Body]]は、メインビューテンプレートの本文とプレビューパネル内でのみ使用可能なプロシージャを定義するために使用します。

View File

@@ -0,0 +1,26 @@
created: 20221007130538285
modified: 20260329110806303
original-modified: 20230419103154329
tags: WikiText Procedures
title: Procedure Parameter Handling
ja-title: プロシージャパラメータの処理
type: text/vnd.tiddlywiki
!! 紹介
プロシージャの内容がWiki化されると、[[プロシージャ|Procedures]]パラメータは変数として利用可能になります。
!! パラメータを変数としてアクセス
プロシージャをWiki化すると、パラメータを変数としてアクセスできるようになります。
例えば:
<$macrocall $name="wikitext-example-without-html" src="""\procedure say-hi(name,address)
こんにちは、私は<<name>>です。<<address>>に住んでいます。
\end
<<say-hi name:"Bugs" address:"Rabbit Hole Hill">>
"""/>
パラメータを変数としてアクセスすることは、Wiki化されたプロシージャ内でのみ機能し、例えばプロシージャが属性値として使用される場合には機能しません。

View File

@@ -0,0 +1,17 @@
created: 20140910212931897
list: Concepts Definitions WikiText Macros Variables SystemTags Widgets Filters Messages Commands Mechanisms Developers
modified: 20260216114219952
original-modified: 20180927080640647
tags: TableOfContents
title: Reference
ja-title: リファレンス
type: text/vnd.tiddlywiki
color: #F45757
次のトピックでは、TiddlyWikiの正式リファレンスドキュメントを提供します:
<div class="tc-table-of-contents">
<<toc-selective-expandable 'Reference'>>
</div>

View File

@@ -1,11 +1,16 @@
created: 20130823203800000
modified: 20241226114145100
original-modified: 2020051619421803
modified: 20260406053945249
original-modified: 20260220093010752
tags: About
title: RoadMap
ja-title: ロードマップ
type: text/vnd.tiddlywiki
TiddlyWiki 5は現在、多くの人々に信頼されている成熟した安定したプロジェクトです。同時に、開発者とユーザーの幅広いコミュニティのおかげで、さまざまな方向に急速に進化しています。この逆説的な状況が可能なのは、プロジェクトが下位互換性を厳密に維持し、既存の機能に加えて新しい機能を追加しているためです
TiddlyWikiは、オリジナルの[[TiddlyWiki Classic]]のリリースから9年後の2013年に初めてリリースされました。以来41回のリリースを経て、TiddlyWikiは着実に柔軟性と信頼性を高めてきました。将来に向けても、v5.4.x、v5.5.x、そして最終的にはTWXXといった野心的な計画があります。
正式なロードマップはありませんが、検索と置換、リッチテキスト編集など、まだ完全に実装されていない領域がかなりあります。現在の作業は~GitHub(https://github.com/TiddlyWiki/TiddlyWiki5/)で確認できます
バージョン番号はv5.x.0の形式に従っています。~TiddlyWikiは現在v<<version>>であり、現在v5.4.0に向けて取り組んでいます。
GitHubには詳細なプロジェクト計画が掲載されていますが、主なマイルストーンは以下のとおり計画しています:
* TiddlyWiki v5.4.0に続き、v5.4.xのリリースが順次行われ、バグ修正や機能の段階的な改善が行われます。重大な後方互換性の問題がある場合は、それらの改善は次リリースのv5.5.0に反映され、軽微な後方互換性の調整が行われます。
* 今後、v5.6.0、v5.7.0などのリリースを続け、後方互換性を損なうことなく次のメジャーな再設計をリリースする準備が整うまで続けます。このリリースを~TiddlyWiki XX("~TiddlyWiki Twenty"、またはTWXX)と呼んでいます。

View File

@@ -0,0 +1,13 @@
created: 20230726143332803
modified: 20260404110322627
original-modified: 20240619210723396
tags: [[Variable Usage]]
title: Behaviour of variables invoked via widget attributes
ja-title:
type: text/vnd.tiddlywiki
|tc-first-col-min-width|k
|!宣言方法|!動作|
|\define|本文テキストに対してパラメータのテキスト置換が実行されます。それ以上の処理は行われません。テキスト置換後の結果が属性の値として使用されます|
|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|本文はそのまま取得され、属性の値として使用されます|
|\function|ファンクション(例: .myfun)が`<div class=<<.myfun>>/>`で呼び出されると、`<div class={{{[function[.myfun]]}}}/>`の同義になります。他のフィルタ付きトランスクルージョン(つまり、三重中括弧)と同様に、最初の結果以外はすべて破棄されます。最初の結果が属性の値として使用されます。この形式で呼び出された場合でも、ファンクションは再帰的に処理されることに注意してください。つまり、ファンクション内のフィルタ式は別のファンクションを呼び出すことができ、処理は継続されます|

View File

@@ -0,0 +1,202 @@
created: 20190311094603013
modified: 20260308111654603
original-modified: 20201130064330388
tags: [[HTML in WikiText]]
title: Anchor Links using HTML
ja-title: HTMLを使用したアンカーリンク
<a id=<<qualify "#Top">>></a>
<h2 id="#Introduction:Anchor-Links-using-HTML">''TiddlersでのHTMLアンカーリンク''</h2>
* <a href=<<qualify "##Introduction">>>何をするものか?</a>
* <a href=<<qualify "##How-do-I-make-them">>>どうやって作るか?</a>
* <a href=<<qualify "##Anchor-link-limitations">>>制限と注意すべき点</a>
* <a href=<<qualify "##More_examples">>>More examples</a>
* <a href=<<qualify "##Suggestions-for-elements">>>使用するHTML要素の提案</a>
* <a href=<<qualify "##Suggestions-for-ids">>>使用するターゲット名の提案</a>
* <a href=<<qualify "##qualify-example">>>トランスクルードによるID重複の回避</a>
* <a href=<<qualify ##Style_Hints>>>スタイルのヒント</a>
<a id=<<qualify "#Introduction">>></a>
!! 何をするものか?
TiddlyWikiでは、アンカーリンクを使って、レンダリングしたTiddler内のターゲットポイントや個別のセクションにリンクすることができます。これにより、読者は長いTiddlerコンテンツ内を移動しやすくなります。
例えば、このリンク<a href=<<qualify "##Bottom_of_tiddler">>>末尾</a>は、このTiddlerの一番下に移動します。その下の"先頭に戻る"リンクは、このTiddlerの一番上に戻ります。
<a href=<<qualify "##Top">>>先頭に戻る</a>
<a id=<<qualify "#How-do-I-make-them">>></a>
!! どうやって作るか?
アンカーリンクを作成する手順は2ステップだけです。
* まず、希望する場所にターゲットポイント('アンカー'と呼ぶ)を作成します。
* 次に、読者が必要とする可能性のある場所にリンクを追加します。
それで終わりです。
''ステップ1: 'アンカー'(リンクのターゲット)を作成する''
```
<a id="#Bottom_of_tiddler"></a>
```
* 任意のHTML5タグに<<.attr id>>属性を追加し、'アドレス'値の前に`#`を1つ配置します。<a href=<<qualify "##Suggestions-for-elements">>>使用できるタグの提案を紹介します。</a>
* このコードをターゲットの場所に配置します。例: Tiddlerの末尾。
''ステップ2: ターゲットのアンカーへのリンクを作成する''
```
<a href="##Bottom_of_tiddler">末尾</a>
```
* ターゲットとまったく同じ'アドレス'値を使用して`<a href>`リンクを作成しますが、その前に二重の`##`文字が付きます。
* このコードを、読者にとって最も役立つ場所に配置します。
上記の例は、このTiddlerの上部にある目次など、~TiddlyWikiのさまざまな状況に合わせて調整できます。
''本当にそんなに簡単なのでしょうか? ''
はい、とても簡単です。ただし... ~TiddlyWikiには、標準のHTML5アンカーリンクとは若干異なる点があり、~TiddlyWiki特有の制限もあります。
<a href=<<qualify "##Top">>>先頭に戻る</a>
<h2 id=<<qualify "#Anchor-link-limitations">>>制限と注意すべき点</h2>
''ステップ1:'' ターゲットアンカーの作成
* 標準HTML5 とは異なり、~TiddlyWikiでは、<<.attr id>>属性に続くターゲットアドレス値の前に1文字の`#`を書く必要があります。(例.1の#Bottom_of_tiddlerで使用されている1文字の`#`に注意してください。)
* 標準のHTML5とは異なり、~TiddlyWikiのアンカーリンクは大文字と小文字を区別します。上記の例では、#Bottom_of_tiddlerは機能しますが、#bottom_of_Tiddlerは機能しません。
* 一部のブラウザでは、%文字を含むアンカーへのナビゲーションが失敗するバグがあるため、リンクでは%文字を使用しないでください(以下の警告を参照)。
* <a id=<<qualify #note.1-return>>/>リンク内に空白を使用しないでください(下記の<a href=<<qualify ##note.1>> title="クリックすると注.1に進む">注.1</a>を参照)。
* 各リンクアドレスはTiddlyWiki内で一意である必要があります。トランスクルージョンによって同じ<<.attr id>>属性のインスタンスが複数作成された場合、上記の条件を満たす最初のインスタンスにナビゲーションが行われます。これを回避するには、次の例と同様のスタイルで、<<.attr id>>属性と<<.attr href>>属性の両方に[[qualifyマクロ|qualify Macro]]を使用します: <a href=<<qualify ##qualify-example>> >トランスクルージョン時にIDの重複を回避する</a>
''ステップ2:'' ターゲットへのリンクの作成
* <<.attr href>>の値は、ターゲットアンカーの<<.attr id>>の値より1文字多い''2文字''の`#`で始まる必要があることに注意してください。
* ~TiddlyWikiのアンカーリンクは大文字と小文字が区別されることに注意してください
''ステップ3:'' ターゲットへの移動
通常、リンクをクリックすると、~TiddlyWikiはウィンドウをスクロールして、ターゲットのアンカーがウィンドウの上部に表示されるようになりますが、いくつかの制限があります:
* ~TiddlyWikiのアンカーリンクは、Tiddlerがストーリーリバー内にない場合、またはサイドバーに表示されていない場合は機能しません。
* ~TiddlyWikiのアンカーリンクは、Tiddlerがストーリーリバーやサイドバーにあるものの、アンカーでマークされたターゲットポイントがページ上に表示されていない場合(例: Tiddlerが折りたたまれている、または、アンカーが非表示の$revealウィジェット内にある、など)には機能しません。このようなアンカーリンクをCtrl+クリックすると、新しいブラウザウィンドウ/タブが開き、ベースのウェブページが読み込まれ、期待されるTiddlerには移動しません。
* コントロールパネル > 外観 > 表示スタイルがzoomin(単一ページビュー)に設定されており、Tiddlerがストーリーリバーの先頭にない場合(つまり、表示されていない場合)、Tiddlywikiのアンカーリンクは機能しません。
* アンカーリンクをクリックすると、ブラウザのナビゲーション履歴が更新され、リンクのhref値がウェブページのURLに追加されます。これは、コントロールパネル > 設定 > 操作履歴の値が"履歴を残さない"に設定されている場合でも発生します。
<$macrocall $name=.note _="""<span id=<<qualify #note.1>>><a href=<<qualify ##note.1-return>> title="click to return">1.</a></span> [ext[HTML5の仕様|https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id]]では、<<.attr id>>属性の値に空白文字を含めてはならないとされています。現在 ^^(2020年12月)^^では、空白文字を含む<<.attr id>>値でも動作する場合があります。ただし、すべてのブラウザで動作するとは限らず、将来的にも動作が保証されるものではありません。""" />
<<.warning "一部のブラウザでは、 ''id''値に`%`文字と2桁の数字が含まれるアンカーターゲットへの移動に失敗する場合があります。これはブラウザのバグであり、~TiddlyWikiでは修正できません。安全のため、`%`文字の使用は避けてください。">>
<a href=<<qualify "##Top">>>先頭に戻る</a>
<h2 id=<<qualify "#More_examples">>>その他の例</h2>
いずれの場合も、ターゲットコードは読者が移動する先に配置され、リンクコードは読者の移動元となる場所に配置されます。
```
<h2 id="#heading-01"> ターゲットの見出し</h2>
<a href="##heading-01">ターゲットの見出しへのリンク</a>
```
次のようになります:
<hr>
<h2 id="#heading-01">ターゲットの見出し</h2>
<a href="##heading-01">ターゲットの見出しへのリンク</a>
<hr>
```
<section id="#unique001">
!! ターゲットのセクション
HTMLタグ`<section>`は通常、章、ヘッダー、フッター、ドキュメントのその他のセクションなど、HTMLドキュメント内のセクションを定義するために使用されます。
</section>
このアンカーリンクをクリックすると、<a href="##unique001">ターゲットのセクションへのリンク</a>に移動します。
```
次のようになります:
<hr>
<section id="#unique001">
!! ターゲットのセクション
HTMLタグ`<section>`は通常、章、ヘッダー、フッター、ドキュメントのその他のセクションなど、HTMLドキュメント内のセクションを定義するために使用されます。
</section>
このアンカーリンクをクリックすると、<a href="##unique001">ターゲットのセクションへのリンク</a>に移動します。
<hr>
<a href=<<qualify "##Top">>>先頭に戻る</a>
<h2 id=<<qualify "#Suggestions-for-elements">>>''使用するHTML要素の提案''</h2>
<<.attr id>>属性を使用して位置をマークするHTML要素の提案:
| ! 要素 | ! サンプルコード | ! 備考 |
|<<.def anchor>> |<$text text="""<a id="#part001-of-TiddlerName"></a>"""/> |どこでも完璧に動作するはず|
|<<.def heading>> |<$text text="""<h2 id="#a-new-heading">新しい見出し</h2>"""/>|見出しにも<<.attr id>>属性を持たせることができる|
|<<.def section>> |<$text text="""<section id="#sect001-of-TiddlerName">これは新しいセクションです</section>"""/>|`section`要素を使用する場合、独自の<<.attr id>>を持つべき|
|<<.def span>> |<$text text="""<span id="#007">ここにマーカー007があります</span>"""/>|`span`要素を使用して段落の途中に<<.attr id>>を挿入することができる|
<a href=<<qualify "##Top">>>先頭に戻る</a>
<h2 id=<<qualify "#Suggestions-for-ids">>>使用するターゲット名の提案</h2>
| ! | ! サンプルコード | ! 備考 |
|<<.def 推奨>> |<$text text="""<a id="#part001-of-TiddlerName"></a>"""/> |Tiddler名を含めてると、一意の<<.attr id>>が簡単にできます|
|<<.def "回避: 空白">> |<$text text="""<h2 id="#0 0 1">新しい見出し</h2>"""/>|空白はすべてのブラウザで機能するとは保証されません|
|<<.def "回避: %">> |<$text text="""<section id="#sect001%20of%20TiddlerName">これは新しいセクションです</section>"""/>|URIエンコード(スペースを%20に変換する等)は一部のブラウザで機能しない可能性があります|
|<<.def "回避: 重複ID">> |<$text text="""<span id="#007">ここにマーカー007があります</span>"""/>|<<.attr id>>値はWiki全体で一意である必要があります|
|<<.def "回避: 重複ID">> |<$text text="""<a id="#007"></a>"""/>別のマーカー007です|<<.attr id>>値が重複している場合、一方が無視されます|
<a href=<<qualify "##Top">>>先頭に戻る</a>
<h2 id=<<qualify "#qualify-example">>> ''トランスクルードによるID重複の回避''</h2>
<<.attr id>>とこのヘッダーへのアンカーリンクは次のように作成されています:
```
<a href=<<qualify "##qualify-example">>>トランスクルードによるID重複の回避</a>
<h2 id=<<qualify "#qualify-example">>>トランスクルードによるID重複の回避</h2>
```
;これが機能するために:
* <<.attr href>>と<<.attr id>>の値は、[[属性のマクロ呼び出し構文|HTML in WikiText]]が使用され、[[qualifyマクロ|qualify Macro]]を使用して一意の<<.attr id>>値が作成されます。
* <<.attr id>>とアンカーリンクは両方とも同じTiddler内にある必要があります。
* `=`と`<<`の間には引用符を入れないでください。
* ターゲット名を囲む二重引用符はオプションですが、推奨されます。
* ターゲット名の後には、`<<qualify`マクロを閉じる2つの`>>`文字と、`<a`タグを閉じる1つの`>`文字、全部で3つの`>`文字が必要です。
<a href=<<qualify "##Top">>>先頭に戻る</a>
<h2 id=<<qualify #Style_Hints>>>''スタイルのヒント'' </h2>
リンクを外部リンクのように見せたくない場合は、`<a>`要素の<<.attr class>>属性に値<<.def tc-tiddlylink>>を指定します。また、リンクを斜体と太字にしたい場合は、以下のように追加のクラス<<.def "tc-tiddlylink-missing tc-tiddlylink-shadow">>を指定します。
```
<a class="tc-tiddlylink" href="##Introduction:Anchor-Links-using-HTML">先頭に戻る</a> または、<a class="tc-tiddlylink tc-tiddlylink-missing tc-tiddlylink-shadow" href=<<qualify ##Hints>>ヒント</a>に戻る.
```
<a class="tc-tiddlylink" href="##Introduction:Anchor-Links-using-HTML">先頭に戻る</a> または、<a class="tc-tiddlylink tc-tiddlylink-missing tc-tiddlylink-shadow" href=<<qualify ##Style_Hints>>>スタイルのヒント</a>に戻る.
サイドバーの目次のリンクに<<.attr id>>属性を含める場合は、以下に示す方法と同様に、リストされたTiddlerの<<.field caption>>フィールドに属性を含めることができます:
```
<span id=#some-value>キャプション</span>
```
<a id=<<qualify "#Bottom_of_tiddler">>></a>
<a href=<<qualify "##Top">>>先頭に戻る</a>

View File

@@ -0,0 +1,106 @@
caption: ブロック引用
created: 20131206154636572
modified: 20260218113215246
original-modified: 20240512000910702
tags: WikiText
title: Block Quotes in WikiText
ja-title: Wikiテキストでのブロック引用
type: text/vnd.tiddlywiki
TiddlyWiki5でHTMLブロック引用を生成する方法は2つあります。1つは複数行にまたがるコンテンツ用、もう1つは1行のコンテンツ用です。
! 複数行のブロック引用
複数行ブロック引用(<<.icon $:/core/images/quote>>)の構文は次のとおりです:
<<wikitext-example src:"<<<
これは日本語で書かれた
ブロック引用の段落です
<<<
">>
!! 引用
次のように引用できます:
<<wikitext-example src:"<<<
コンピューターは私たちにとって自転車のようなもの
<<< スティーブジョブズ
">>
!! CSSクラス
ブロック引用に CSS クラスを追加できます:
<<wikitext-example src:"<<<.myClass.another-class
オペレーティングシステムは私たちにとってレンガの壁のようなものだ
<<< 出典不明
">>
特大二重引用符を含むブロック引用をレンダリングするクラス`tc-big-quote`がコアに含まれています:
<<wikitext-example src:"<<<.tc-big-quote
劇的な引用
<<< 大切な人
">>
! 単一行ブロック引用
ブロック引用の単一行構文は、実際には[[Wikiテストでのリスト|Lists in WikiText]]構文の拡張です。例えば:
<<wikitext-example src:"> 引用文
> 引用文の別の行
">>
次のように引用をネストすることもできます:
```
> トップの引用
>> サブの引用
> 別のトップの引用
```
次のように表示されます:
> トップの引用
>> サブの引用
> 別のトップの引用
ブロック引用を他のリスト項目と組み合わせることもできます。例:
<<wikitext-example src:"* リスト 1
** リスト 2
**> 引用
**> 別の引用
* リスト 3
">>
! 高度なWikiテキストとブロック引用
ブロック引用を段落やその他のブロックWikiテキストと混在させることもできます。ブロックモードに注意してください。段落の後に引用文が続く場合は、空行で終了させてください。引用文の最後の段落は空行で終わる必要はありません。インデントを使用する場合は、__空行をインデントしないでください__。パーサーはこれを追加のインラインコンテンツと解釈し、ブロックモードに戻りません。例:
<<wikitext-example src:'<<< ブロック引用とインラインWikiテキストの併用
他の//Wikiテキスト//の前の段落は、空行で終わる必要があります。
* リスト 1
** リスト 2
**> 引用
"""
行間のある
ポエムは
最後の引用の後に
他の内容が続く場合
空行が必要です
"""
<<<< 深いブロック引用
他の//Wikiテキスト//の前の段落は、空行で終わる必要があります。
! 見出し
別の段落も、空行で終わる必要があります。
!! サブ見出し
最後の段落は、ブロック引用と同様に、空行で終わる必要は__ありません__。
<<<<
<<<
'>>

View File

@@ -0,0 +1,43 @@
caption: コードブロック
created: 20131205160047557
modified: 20260219112415527
original-modified: 20220513120302826
tags: WikiText
title: Code Blocks in WikiText
ja-title: WikiTextでのコードブロック
type: text/vnd.tiddlywiki
コードブロック(<<.icon $:/core/images/mono-block>>)をマークするには、3つのバッククォート<code>&#96;&#96;&#96;</code>を使用します:
<pre>&#96;&#96;&#96;
これは等幅です
&#96;&#96;&#96;
</pre>
次のように表示されます:
```
これは等幅です
```
正しく解釈されるためには、3つのバッククォートが行の先頭にあり、その直後に改行が続く必要があります。
先行する段落の内容も二重の改行で適切に終了する必要があることに注意してください。したがって、次の例は誤りです:
<pre>This is an ordinary paragraph
&#96;&#96;&#96;
これは等幅です
&#96;&#96;&#96;
</pre>
正しくは次のとおりです:
<pre>これは普通の段落です
&#96;&#96;&#96;
これは等幅です
&#96;&#96;&#96;
</pre>
一部のキーボードレイアウトでは、バッククォートが[[デッドキー|https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%83%E3%83%89%E3%82%AD%E3%83%BC]]として扱われるため、入力しにくい場合があることに注意してください。コツは、バッククォートを3つ入力した後にスペースを入力することです。または、バッククォートを6つまとめて入力し、スペースを入力した後、カーソルを3文字後ろに移動して内容を入力または貼り付けます。

View File

@@ -0,0 +1,64 @@
created: 20230901122740573
modified: 20260220110638765
original-modified: 20230901123102263
tags: WikiText
title: Conditional Shortcut Syntax
ja-title: 条件付きショートカットの構文
type: text/vnd.tiddlywiki
<<.from-version "5.3.2">> 条件付きショートカットの構文は、[[Wikiテキスト|WikiText]]内でif-then-elseロジックを表現する便利な方法を提供します。この構文は[[フィルタ式|Filter Expression]]を評価し、少なくとも1つの結果がある場合(結果の値に関係なく)に条件が真であるとみなします。
"if"や"elseif"句では、変数`condition`にはフィルタ条件を評価した最初の結果の値が含まれます。
簡単な例:
<$macrocall $name='wikitext-example-without-html'
src='<%if [{$:/info/url/protocol}match[file:]] %>
ファイルURIから読み込まれています
<%else%>
ファイルURIから読み込まれていません
<%endif%>
'/>
`<%else%>`句の前に、一つ以上の`<%elseif%>`句を含めることができます:
<$macrocall $name='wikitext-example-without-html'
src='<%if [{$:/info/url/protocol}match[file:]] %>
ファイルURIから読み込まれています
<%elseif [{$:/info/url/protocol}match[https:]] %>
HTTPS URIから読み込まれています
<%elseif [{$:/info/url/protocol}match[http:]] %>
HTTP URIから読み込まれています
<%else%>
不明プロトコルで読み込まれています
<%endif%>
'/>
条件付きショートカットの構文はネストできます:
<$macrocall $name='wikitext-example-without-html'
src='\procedure test(animal)
<%if [<animal>match[Elephant]] %>
それはゾウです
<%else%>
<%if [<animal>match[Giraffe]] %>
それはキリンです
<%else%>
それは全く知られていません
<%endif%>
<%endif%>
\end
<<test "Giraffe">>
<<test "Elephant">>
<<test "Antelope">>
'/>
注意:
* デフォルトでは、句はインラインモードで解析されます。ブロックモードで解析させるには、開始の`<%if %>`、 `<%elseif%>`または`<%else%>`の後に2つの改行を挿入します
* ウィジェットとHTML要素は、単一の条件句内になければなりません。ある条件句で要素を開始し、別の条件句で終了することはできません
* 条件付きショートカットの構文には、プロシージャーの定義などのプラグマを含めることはできません

View File

@@ -0,0 +1,14 @@
caption: ダッシュ
created: 20131205160641986
modified: 20260221102356382
original-modified: 20220513111920644
revision: 0
tags: WikiText
title: Dashes in WikiText
ja-title: Wikiテキストでのダッシュ
type: text/vnd.tiddlywiki
二重ハイフン--を使用してnダッシュを作成したり、三重ハイフン`---`を使用してmダッシュを作成したりできます。
<<wikitext-example src:"""* -- nダッシュの例
* --- mダッシュの例 --- 楽しんでね!""">>

View File

@@ -0,0 +1,16 @@
caption: 説明リスト
created: 20131205160424246
modified: 20260221103246354
original-modified: 20251229110936191
tags: WikiText
title: Description Lists in WikiText
ja-title: Wikiテキストでの説明リスト
type: text/vnd.tiddlywiki
HTML説明リスト(<abbr title="またの名を">別名</abbr> 定義リスト)は次の構文で作成できます:
<<wikitext-example src:"; 説明する用語
: その用語の説明/定義
; 別の用語
: 別の説明/定義
">>

View File

@@ -0,0 +1,18 @@
created: 20230615045132842
modified: 20260221103950145
original-modified: 20230615045231048
tags: WikiText [[Widget Attributes]]
title: Filtered Attribute Values
ja-title: フィルタリングした属性値
type: text/vnd.tiddlywiki
フィルタリングした属性値は、[[フィルタ式|Filter Expression]]を三重の中括弧で囲んで示します。値は結果リストの最初の項目になります。リストが空の場合は空文字列になります。
<<.from-version "5.2.2">> 読みやすさを向上させるために、フィルタした属性内で空白が許可されている場所にはどこにでも改行を含めることができます。
この例では、値にプレフィックスを追加する方法を示します:
```
<$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />
```
<<.warning "属性の値は、結果リストの最初の項目のテキストそのものになります。そのテキストに含まれるWiki構文はそのまま残ります。">>

View File

@@ -0,0 +1,62 @@
caption: 書式
created: 20131205155959399
modified: 20260221105526359
original-modified: 20230303215447403
tags: WikiText
title: Formatting in WikiText
ja-title: Wikiテキストでの書式
type: text/vnd.tiddlywiki
!! 概要
[[Wikiテキスト|WikiText]]で利用可能な文字書式は次のとおりです:
|Wikiテキスト | ボタン | ショートカット |レンダリング出力 |h
|`''太字テキスト''`には二重シングルクォートを使用します| <kbd><<.icon $:/core/images/bold>></kbd> | <kbd><<displayshortcuts "((bold))">></kbd> |''太字テキスト''には二重シングルクォートを使用します |
|`//斜体テキスト//`には二重スラッシュを使用します| <kbd><<.icon $:/core/images/italic>></kbd> | <kbd><<displayshortcuts "((italic))">></kbd> |//斜体テキスト//には二重スラッシュを使用します|
|`__下線テキスト__`には二重アンダースコアを使用します| <kbd><<.icon $:/core/images/underline>></kbd> | <kbd><<displayshortcuts "((underline))">></kbd> |__下線テキスト__には二重アンダースコアを使用します |
|`^^上付き文字^^`テキストには二重サーカムフレックスアクセントを使用します | <kbd><<.icon $:/core/images/superscript>></kbd> | <kbd><<displayshortcuts "((superscript))">></kbd> |^^上付き文字^^テキストには二重サーカムフレックスアクセントを使用します |
|`,,下付き文字,,`テキストには二重カンマを使用します | <kbd><<.icon $:/core/images/subscript>></kbd> | <kbd><<displayshortcuts "((subscript))">></kbd> |,,下付き文字,,テキストには二重カンマを使用します |
|`~~取り消し線~~`テキストには二重チルダ記号を使用します | <kbd><<.icon $:/core/images/strikethrough>></kbd> | <kbd><<displayshortcuts "((strikethrough))">></kbd> |~~取り消し線~~テキストには二重チルダ記号を使用します |
|```等幅文字` ``には単一のバッククォートを使用します | <kbd><<.icon $:/core/images/mono-line>></kbd> | <kbd><<displayshortcuts "((mono-line))">></kbd> |`等幅文字`には単一のバッククォートを使用します |
|`@@ハイライト@@`するには2重@記号を使用します | - | - |@@ハイライト@@するには2重@記号を使用します |
その他の書式オプションについては、[[WikiTextでのスタイルとクラス|Styles and Classes in WikiText]]を参照してください
!! 埋め込みバッククォート
|Wikiテキスト |レンダリング出力|h
|<code>&#96;&#96;二重バッククォートで、&#96;埋め込み&#96;バッククォートが書けます&#96;&#96;</code>|``二重バッククォートで、`埋め込み`バッククォートが書けます``|
!! キーボードショートカット
[[キーボードショートカット|KeyboardShortcuts]]の完全なリストは、$:/ControlPanel -> ''キーボードショートカット'' タブにあります。
!! セマンティック情報
|Wikiテキスト | 結果のHTMLコード |h
|`''太字テキスト''`には二重シングルクォートを使用します|`<strong>太字テキスト</strong>`には二重シングルクォートを使用します |
|`//斜体テキスト//`には二重スラッシュを使用します|`<em>斜体テキスト</em>`には二重スラッシュを使用します |
|`__下線テキスト__`には二重アンダースコアを使用します|`<u>下線テキスト<u>` |
|`^^上付き文字^^`テキストには二重サーカムフレックスアクセントを使用します |`<sup>上付き文字</sup>`テキストには二重サーカムフレックスアクセントを使用します |
|`,,下付き文字,,`テキストには二重カンマを使用します |`<sub>下付き文字</sub>`テキストには二重カンマを使用します |
|`~~取り消し線~~`テキストには二重チルダ記号を使用します |`<strike>取り消し線</strike>`テキストには二重チルダ記号を使用します |
|```等幅文字` ``には単一のバッククォートを使用します |`<code>等幅文字</code>`には単一のバッククォートを使用します |
|`@@ハイライト@@`するには二重@記号を使用します |`<span class="tc-inline-style">ハイライト</span>`するには二重@記号を使用します |
!! 太字 vs 強調
TWでは、ほとんどのユーザーが"強調"ではなく"太字"という用語に慣れているため、この用語を使用します。...レンダリングプロセスにより、"太字テキスト"はHTMLのSTRONG要素に変換されます。
>`<strong>`要素は重要なコンテンツを示すものであり、`<b>`要素は重要であることを示すことなくテキストに注意を引くために使用されます。
>https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong#b_vs._strong
!! 下線 vs アンダースコア
>文字の下に線を引くテキスト書式を指定するには、下線を使用します。アンダースコア文字( _ )を指定するには、アンダースコアを使用します。
>https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/u/underline-vs-underscore
!! 強調 vs 斜体
>`<em>`要素はコンテンツの強調を表し、`<i>`要素は外国語、架空の人物の考えなど、通常の散文から区別されたテキストを表します。また、テキストが単語の意味を表すのではなく定義を参照している場合にも使用します。(書籍や映画のタイトルなど、作品のタイトルには`<cite>`を使用する必要があります。)
>https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em#i_vs._em

View File

@@ -0,0 +1,68 @@
created: 20130204165019000
modified: 20260224110248200
original-modified: 20240726074846436
tags: WikiText
title: HTML Entities
ja-title: HTMLエンティティ
type: text/vnd.tiddlywiki
!! 要約
通常のキーボードでは簡単に入力できない文字を入力するには、HTMLエンティティを使用します。HTMLエンティティは、アンパサンド(`&`)、識別文字列、および終了セミコロン(`;`)の形をとります(例: 文字&は`&amp;`)。
!! マークアップ
```
Tiddlers&trade;の価値は、&pound;、&euro;や&dollar;では表すことができません。
```
''次のように表示されます:''
Tiddlers&trade;の価値は、&pound;、&euro;や&dollar;では表すことができません。
!! エンティティ参照
HTMLエンティティの包括的なリストは以下でご覧いただけます...
* [[Mozilla Developer Network -- Entities|https://developer.mozilla.org/en-US/docs/Glossary/Entity]]
* [[HTML Spec official list -- Entities|https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references]]
!! 一般的で役に立つエンティティの例
|>|>|>|>|>|>| ! HTMLエンティティ |
| &amp;nbsp; | &nbsp; | ノーブレークスペース | &nbsp;&nbsp; | | | |
| &amp;~NoBreak; | &NoBreak; | ゼロ幅[[単語結合子|WordJoiner]] | &nbsp;&nbsp; | &amp;apos; | &apos; | シングルクォート, アポストロフィ |
| &amp;ndash; | &ndash; | エンダッシュ |~| &amp;quot; | " | クォーテーションマーク |
| &amp;mdash; | &mdash; | エムダッシュ |~| &amp;prime; | &prime; | プライム; 分; フィート |
| &amp;hellip; | &hellip; | 水平三点リーダー |~| &amp;Prime; | &Prime; | ダブルプライム; 秒; インチ |
| &amp;copy; | &copy; | 著作権マーク |~| &amp;lsquo; | &lsquo; | 左シングルクォート |
| &amp;reg; | &reg; | 登録商標マーク |~| &amp;rsquo; | &rsquo; | 右シングルクォート |
| &amp;trade; | &trade; | 商標マーク |~| &amp;ldquo; | &ldquo; | 左ダブルクォート |
| &amp;dagger; | &dagger; | ダガー |~| &amp;rdquo; | &rdquo; | 右ダブルクォート |
| &amp;Dagger; | &Dagger; | ダブルダガー |~| &amp;laquo; | &laquo; | 左アングルクォート |
| &amp;para; | &para; | 段落記号 |~| &amp;raquo; | &raquo; | 右アングルクォート |
| &amp;sect; | &sect; | セクション記号 |~| &amp;times; | &times; | 掛け算記号 |
| &amp;uarr; | &uarr; | 上矢印 |~| &amp;darr; | &darr; | 下矢印 |
| &amp;larr; | &larr; | 左矢印 |~| &amp;rarr; | &rarr; | 右矢印 |
| &amp;lArr; | &lArr; | 二重左矢印 |~| &amp;rArr; | &rArr; | 二重右矢印 |
| &amp;harr; | &harr; | 左右矢印 |~| &amp;hArr; | &hArr; | 二重左右矢印 |
!! アクセント付き文字
下の表は、2番目の表のアンダースコア(_)を対応する文字に//置き換える//ことで、アクセント付き文字をどのように作成できるかを示しています。例:
|コード |文字 |例 |結果 |h
|`&Auml;` |Ä | `&Auml;pfel` |&Auml;pfel |
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| ! アクセント付き文字 |
| グレイヴアクセント | &amp;_grave; | &Agrave; | &agrave; | &Egrave; | &egrave; | &Igrave; | &igrave; | &Ograve; | &ograve; | &Ugrave; | &ugrave; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| アキュートアクセント | &amp;_acute; | &Aacute; | &aacute; | &Eacute; | &eacute; | &Iacute; | &iacute; | &Oacute; | &oacute; | &Uacute; | &uacute; | &nbsp; | &nbsp; | &Yacute; | &yacute; | &nbsp; | &nbsp; |
| サーカムフレックスアクセント | &amp;_circ; | &Acirc; | &acirc; | &Ecirc; | &ecirc; | &Icirc; | &icirc; | &Ocirc; | &ocirc; | &Ucirc; | &ucirc; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| ウムラウト記号 | &amp;_uml; | &Auml; | &auml; | &Euml; | &euml; | &Iuml; | &iuml; | &Ouml; | &ouml; | &Uuml; | &uuml; | &nbsp; | &nbsp; | &Yuml; | &yuml; | &nbsp; | &nbsp; |
| チルダ | &amp;_tilde; | &Atilde; | &atilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Otilde; | &otilde; | &nbsp; | &nbsp; | &Ntilde; | &ntilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| リング | &amp;_ring; | &Aring; | &aring; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| スラッシュ | &amp;_slash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Oslash; | &oslash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |
| セディラ | &amp;_cedil; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Ccedil; | &ccedil; |

View File

@@ -0,0 +1,94 @@
caption: HTML
created: 20131205160816081
modified: 20260307113719789
original-modified: 20241025073517909
tags: WikiText
title: HTML in WikiText
ja-title: WikiテキストでのHTML
type: text/vnd.tiddlywiki
! HTMLタグとコメント
HTMLタグとコメントは[[Wikiテキスト|WikiText]]内でそのまま使用できます。例:
```
<article class="hello">
これは私の素敵でシンプルなテキストブロックです。こんにちは
<!-- このコメントはWiki化した出力には表示されません -->
</article>
```
!! プラグマのコメント
<<.from-version 5.2.0>> コメントは、Wikiテキストのブロック本体内だけでなく、プラグマと自由に混在できるようになりました。
```
<!-- 新: マクロを説明するコメント -->
\define test()
何らかのテキスト <!-- インラインコメント -->
\end
<<test>>
```
! 重要
!! セキュリティ
<<.warning """レンダリングしたHTMLコンテンツから、`on`で始まるHTML属性が削除されることに注意してください。これは、イベントハンドラ("onclick"など)が信頼できないJavaScriptを実行するための秘密の手段として利用されるのを防ぐためです。TiddlyWikiの設計目標は、実行可能なJavaScriptが明示的なJavaScriptモジュールTiddlerやrawマークアップTiddlerを介してのみシステムに侵入できるようにすることです。これにより、マルチユーザー環境で安全でないコンテンツをフィルタリングできるようになり、信頼できないWikiテキストの例をより安全にコピーできるようになります。""">>
!! ウィジェット
<<.tip """[[ウィジェットはHTMLタグと同じ構文を共有します|Widgets in WikiText]]<br>そのため、次の情報はウィジェットにも適用されます。""">>
! ブロックモード vs インラインモード
HTML要素のコンテンツを[[ブロックモード|Block Mode WikiText]]で[[パース|WikiText Parser Modes]]するには、開始タグの後に2つの改行を続ける必要があります。
2つの改行がない場合、タグの内容は[[インラインモード|Inline Mode WikiText]]で[[パース|WikiText Parser Modes]]します。つまり、Wikiテキストのテーブル、リスト、見出しなどのブロックモードの書式は認識されません。
[[Wikiテキストパーサーモード: HTMLの例|WikiText parser mode: HTML examples]]と[[Wikiテキストパーサーモードの遷移|WikiText parser mode transitions]]も参照してください。
! 自己終了タグ
次のタグは'void'として扱われます。つまり、`<tag>`は`<tag/>`であるものとして扱われ、終了タグ`</tag>`は必要ありません(閉じタグが与えられた場合は無視され、プレーンテキストとして扱われます)。
* `<area>`, `<base>`, `<br>`, `<col>`, `<command>`, `<embed>`, `<hr>`, `<img>`, `<input>`, `<keygen>`, `<link>`, `<meta>`, `<param>`, `<source>`, `<track>`, `<wbr>`
他のタグを閉じないと、欠落している終了タグがTiddlerの末尾にあるかのように動作します。
! 属性
従来のHTML構文の拡張では、要素とウィジェットの属性を[[いくつかの方法|Widget Attributes]]で指定できます:
* [[リテラル文字列|Literal Attribute Values]]
* [[テキスト参照のトランスクルージョン|Transcluded Attribute Values]]
* [[マクロ/変数のトランスクルージョン|Variable Attribute Values]]
* [[フィルタ式の結果として|Filtered Attribute Values]]
* <<.from-version "5.3.0">> [[指定した文字列に対してフィルタと変数の置換を実行した結果として|Substituted Attribute Values]]
!! スタイル属性
TiddlyWikiは、要素にCSSスタイルを割り当てるための通常のHTMLの''style''属性をサポートしています:
```
<div style="color:red;">こんにちは</div>
```
<<.from-version "5.2.2">> HTMLの拡張として、TiddlyWikiは個々のCSSスタイルを独立した属性としてアクセスする機能もサポートしています。例えば:
```
<div style.color="red">こんにちは</div>
```
この構文の利点は、計算された値をCSSスタイルに割り当てるのが簡単になることです。例えば:
```
<div style.color={{!!color}}>こんにちは</div>
```
<<.from-version "5.3.6">> TiddlyWikiは[[CSSカスタムプロパティ|https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties]]を独立した属性として設定できるようになりました。例えば:
```
<div --bg-color={{{ [[red]] }}}>こんにちは</div>
```

View File

@@ -0,0 +1,19 @@
created: 20161021101834041
modified: 20260308110635203
original-modified: 20161021102041147
tags: [[HTML in WikiText]]
title: HTML Links in WikiText
ja-title: WikiテキストでのHTMLリンク
type: text/vnd.tiddlywiki
外部リソースへのHTMLリンクを作成できると便利な場合がよくあります。例えば、以下の例では`href`属性の値がMyLinkDestinationhrefというTiddlerの値に設定されます:
```
<a href={{MyLinkDestination}}>リンク</a>
```
しかし、予期せぬセキュリティ上の問題があり、多くの場合、プライベートのTiddlyWiki(例: Dropbox上)のURLのプライバシーを保護するために、リンクは`noopener noreferrer`と設定した`rel`属性を持つ必要があります。詳しくはhttps://mathiasbynens.github.io/rel-noopener/ をご覧ください。
```
<a href={{MyLinkDestination}} rel="noopener noreferrer">リンク</a>
```

View File

@@ -0,0 +1,24 @@
caption: 強制改行
created: 20131214165710101
modified: 20260223103342876
original-modified: 20240512001649319
tags: WikiText
title: Hard Linebreaks in WikiText
ja-title: Wikiテキストでの強制改行
type: text/vnd.tiddlywiki
[[Wikiテキストでの段落|Paragraphs in WikiText]]の通常処理では、単一の改行は無視され、二重の改行は段落の終わりとして解釈されます。
この動作は、例えばポエムなど、強制改行を含むコンテンツを扱う場合には不便です。コンテンツブロックに強制改行が含まれていることを示すには、次のようにします:
<<wikitext-example src:'"""
これは行です
そしてこれは新しい行です
一方、これは別の行です
そしてこの行とは別の
これは最後の行です
"""
'>>
<<.tip '注: <strong>Wikiテキストの強制改行</strong>では、パーサーが[[ブロックモード|Block Mode WikiText]]に戻る前の、末尾の`"""`の後に、追加の空行が必要です。'>>

View File

@@ -0,0 +1,22 @@
caption: 見出し
created: 20131205161234909
modified: 20260223101252179
original-modified: 20220513110830487
tags: WikiText
title: Headings in WikiText
ja-title: Wikiテキストでの見出し
type: text/vnd.tiddlywiki
見出しは、1文字から6文字までの`!`文字で始めます:
```
! これはレベル1の見出しです
!! これはレベル2の見出しです
!!! これはレベル3の見出しです
```
次のようにして個々の見出しにCSSクラスを割り当てることができます:
<<wikitext-example src:"""!!.myStyle この見出しのクラスは`myStyle`です""">>

View File

@@ -0,0 +1,12 @@
caption: 水平方向の罫線
created: 20131205160706975
modified: 20260216114256955
original-modified: 20220513111257531
tags: WikiText
title: Horizontal Rules in WikiText
ja-title: Wikiテキストでの水平方向の罫線
type: text/vnd.tiddlywiki
1行に単独で、3つ以上のダッシュを含むと、水平方向の罫線となります:
<<wikitext-example src:"---">>

View File

@@ -0,0 +1,127 @@
caption: リンク
created: 20131205155230596
modified: 20260316111559503
original-modified: 20211230145939554
tags: WikiText
title: Linking in WikiText
ja-title: Wikiテキストでのリンク
type: text/vnd.tiddlywiki
[[Wikiテキスト|WikiText]]の重要な機能の一つは、他のTiddlerや外部ウェブサイトへのリンクを作成できることです。
! 手動リンク
タイトルでTiddlerへリンク:
```
[[Tiddlerタイトル]]
```
リンクのテキストを指定してTiddlerへリンク:
```
[[表示されるリンクタイトル|Tiddlerタイトル]]
```
エディターのツールバーからリンクを作成することもできます。''リンク'' (<<.icon $:/core/images/link>>)をクリックし、Tiddlerを検索して選択します。
! キャメルケースリンク
[[キャメルケース|CamelCase]]のルールに一致するTiddlerのタイトルについては、二重角括弧を付けずにタイトルを入力するだけで、自動的にリンクが作成されます。
タイトルの前に`~`を付けることで、リンクが認識されないようにすることができます。例:
<<wikitext-example src:"* ~HelloThereはリンクではありません
* ~http://google.com/ はリンクではありません">>
! 外部リンク
ウェブサイトやファイルなどの外部[[リソース|https://en.wikipedia.org/wiki/Web_resource]]にリンクするには、プロトコル(例: `http://`, `file://`)や`mailto`などの[[URIスキーマ|https://en.wikipedia.org/wiki/URI_scheme]]を含む//フル//[[URL|https://en.wikipedia.org/wiki/URL]]を入力します:
```
https://tiddlywiki.com/
[[TW5|https://tiddlywiki.com/]]
[[私へメール|mailto:me@where.net]]
[[ファイルを開く|file:///c:/users/me/index.html]]
```
この構文が機能するためには、URLがURLとして認識できる必要があります。そうでない場合は、Tiddlerのタイトルとして扱われます。したがって、相対パスを使用してアクセスできるリソースにリンクする場合は、拡張構文を使用してください:
```
[ext[ファイルを開く|index.html]]
[ext[ファイルを開く|./index.html]]
[ext[ファイルを開く|../README.md]]
[ext[ファイルを開く|c:\users\me\index.html]]
```
拡張構文はフルURLでも機能しますが、その場合は必須ではありません:
```
[ext[https://tiddlywiki.com]]
[ext[TW5|https://tiddlywiki.com]]
[ext[私へメール|mailto:me@where.net]]
[ext[ファイルを開く|file:///c:/users/me/index.html]]
```
拡張構文を使用して、外部リンクを強制的に作成することもできます:
```
[ext[寄付する|bitcoin:1aabbdd....?amount=0.001]]
```
! Tiddlerリンクのカスタマイズ
Tiddlerリンクを実装するために使用される基盤となるウィジェットの詳細、およびその動作をカスタマイズするために使用できるマクロについては、[[Linkウィジェット|LinkWidget]]を参照してください。
! 動的リンクの生成
[[Wikiテキストでのリンク|Linking in WikiText]]は、動的なリンクを作成するのに適していません。その理由は、この[[Wikiテキスト|WikiText]]のリンクが次のようになっているためです:
```
[[私自身へのリンク|Linking in WikiText]]
```
これは、[[Linkウィジェット|LinkWidget]]と[[Textウィジェット|TextWidget]]を以下のように使用するための省略形です:
```
<$link to="Linking in WikiText">
<$text text="私自身へのリンク"/>
</$link>
```
リンクのタイトル("私自身へのリンク")とリンク先("Linking in ~WikiText")の両方がウィジェットの属性として使用されるため、[[Wikiテキスト|WikiText]]の展開は行われません。
例えば、[[参照|TextReference]]と[[変数|Variables]]を使って次のようなリンクを動的に生成しようとする試み:
<<.bad-example "`[[{{!!caption}}|<<currentTiddler>>]]`">>
は、[[Linkウィジェット|LinkWidget]]と[[Textウィジェット|TextWidget]]を次のように使用しようとするのと同じです:
<<.bad-example """```
<$link to="<<currentTiddler>>">
<$text text="{{!!caption}}"/>
</$link>
```""">>
これは意図したとおりには動作しません。引用符で囲まれたウィジェット属性内のコンテンツは[[リテラル値として扱われ|HTML in WikiText]]、 [[Wikiテキスト|WikiText]]の展開から保護されるため、次のように表示されます:
<<.bad-example "[[{{!!caption}}|<<currentTiddler>>]]">>
望んだ結果を得るには、[[Linkウィジェット|LinkWidget]]を次のように直接使用できます:
<<wikitext-example-without-html src:"<$link to=<<currentTiddler>>>{{!!caption}}</$link>">>
[[動的リンクの構築|Concatenating text and variables using macro substitution]]に関する別の例も参照してください。
! Tiddler内のリンク - "アンカーリンク"
TiddlyWikiでは、アンカーリンクを使うことで、レンダリングされたTiddler内のターゲットポイントやセクションにリンクすることができます。これにより、読者はより長いTiddlerコンテンツをスムーズに閲覧できます。
詳細については、[[HTMLを使用したアンカーリンク|Anchor Links using HTML]]を参照してください。

View File

@@ -0,0 +1,94 @@
caption: リスト
created: 20131205160257619
modified: 20260225114001626
original-modified: 20160607093103220
tags: WikiText Lists
title: Lists in WikiText
ja-title: Wikiテキストでのリスト
type: text/vnd.tiddlywiki
! 箇条書きリスト
`*`文字を使用して、箇条書き(順序なし)リストを作成できます (<<.icon $:/core/images/list-bullet>>):
<<wikitext-example src:"* 最初のリスト項目
* 2番目のリスト項目
** サブ項目
* 3番目ののリスト項目
">>
! 番号付きリスト
番号付き(順序付き)リストは、`*`の代わりに`#`を使用します (<<.icon $:/core/images/list-number>>):
# 最初の項目
# 2番目の項目
# 3番目の項目
順序付きリスト項目と順序なしリスト項目を混在させることもできます:
<<wikitext-example src:"* 今日やること
*# 食事
* 誰かにやってもらうこと
*# これ
*# あれ
*## そしてもう一つ
">>
次は逆の例、順序付きを最初のレベルとする例です:
<<wikitext-example src:"# 今日やること
#* 食事
# 誰かにやってもらうこと
#* これ
#* あれ
#** そしてもう一つ
">>
! CSSクラス
次の表記法を使用して、リストの個々のメンバーにCSSクラスを割り当てることもできます:
<<wikitext-example src:"* リスト1
*.tc-muted リスト2
* リスト3
">>
! リストとブロック引用の混在
[[Wikiテキストでのブロック引用|Block Quotes in WikiText]]は、リストと混在させることができます。例:
<<wikitext-example src:"* リスト1
** リスト2
**> 引用
**> 別の引用
* リスト3
">>
! リスト内の段落
リスト内のエントリは改行で区切られているため、リストのエントリ内に改行を含めることはできません。回避策がいくつかあります。
一つ目は、別のTiddlerから段落の内容をトランスクルードすることができます。例えば:
```
* 最初のエントリ
* <$transclude tiddler="MyTiddler" mode="block"/>
* 3番目のエントリ
```
HTMLの"div"要素を使って複数行のコンテンツを含めることができます。例えば:
```
# ステップ1
# ステップ2
# ステップ3<div>
ここに複数の段落のうち、最初の段落があります。この段落の前の二重改行は重要ですので注意してください。
そして、ここに複数の段落のうちの2番目の段落があります。
</div>
# ステップ4
# ステップ5
# ステップ6
```

View File

@@ -0,0 +1,32 @@
created: 20230615045409162
modified: 20260225112930690
original-modified: 20230615045432768
tags: [[Widget Attributes]] WikiText
title: Literal Attribute Values
ja-title: リテラル属性値
type: text/vnd.tiddlywiki
リテラル属性値では、いくつかの異なる引用スタイルを使用できます:
* シングルクォート (例 `attr='value'`)
* ダブルクォート (例 `attr="value"`)
* 三重ダブルクォート (例 `attr="""value"""`)
* スペースを含まない値には引用符は必要ありません (例 `attr=value`)
リテラル属性値には改行を含めることができます。例:
```
<div data-address="マウスハウス、
マウスレーン、
ローデントビル、
ラットランド。"/>
```
三重ダブルクォートを使用することで、単一ダブルクォートを含む属性値を指定できます。例:
```
<div data-address="""マウスハウス、
"マウス"レーン、
ローデントビル、
ラットランド。"""/>
```

View File

@@ -0,0 +1,60 @@
caption: マクロ呼び出し
created: 20150220182252000
modified: 20260321104805874
original-modified: 20230419103154328
tags: WikiText Macros
title: Macro Calls
ja-title: マクロ呼び出し
type: text/vnd.tiddlywiki
!! 紹介
このTiddlerでは、[[マクロ|Macros]]を呼び出すさまざまな方法について説明します。
!! マクロ呼び出しトランスクルージョンのショートカット
[[マクロ|Macros]]を呼び出すには、マクロ名とパラメータ値を`<<`二重山括弧`>>`で囲みます。
```
<<mymacro param:"これはパラメータ値です">>
```
デフォルトでは、パラメータはマクロの定義と同じ順序でリストします。パラメータに名前とコロンを付けることで、異なる順序でリストすることも可能です。
パラメータに値が指定されていない場合は、[[マクロ定義|Macro Definitions]]でそのパラメータに指定されているデフォルト値が代わりに使用されます。(デフォルト値が定義されていない場合は、パラメータはブランクになります。)
各パラメータ値は、`'`シングルクォーテーション`'`、`"`ダブルクォーテーション`"`、`"""`三重ダブルクォーテーション`"""`、または`[[`二重角括弧`]]`で囲むことができます。三重ダブルクォーテーションを使用すると、値にほぼあらゆる文字列を含めることができます。値にスペース、シングルクォーテーション、ダブルクォーテーションが含まれていない場合は、区切り文字は必要ありません。
この構文の正式な[[説明|Macro Call Syntax]]も利用可能です。
[[パーサーモード|WikiText parser mode: macro examples]]に関する[[例|Macro Calls in WikiText (Examples)]]と議論を参照してください。
!! <<.wlink TranscludeWidget>>ウィジェットを用いたマクロ呼び出し
ショートカット構文は、トランスクルードするマクロの名前を指定する`$variable`属性を持つ<<.wlink TranscludeWidget>>ウィジェットに展開されます。
```
<$transclude $variable="mymacro" param="これはパラメータ値です"/>
```
ウィジェット自体は、パラメータ値を指定できるなど、ショートカット構文よりも柔軟です。
!! 属性値にマクロ呼び出しを割り当てる
マクロの実行結果は、ウィジェットやHTML要素の属性に割り当てることができます。マクロの実行結果はWiki変換されませんが、[[パラメータの置換|Macro Parameter Handling]]は実行されます。
```
<div class=<<myclasses "Horizontal">>>
...
</div>
```
!! フィルターでマクロ呼び出しを使用する
マクロ呼び出しはフィルタ内で使用できます:
```
<$list filter="[<mymacro param:'value'>]">
...
</$list>
```

View File

@@ -0,0 +1,69 @@
created: 20150220181617000
modified: 20260321112056546
original-modified: 20230419103154328
tags: WikiText Macros
title: Macro Definitions
ja-title: マクロ定義
type: text/vnd.tiddlywiki
!! 紹介
このTiddlerの説明では、[[マクロ|Macros]]を定義するさまざまな方法について説明します。
!! マクロ定義プラグマ
マクロは、Tiddlerの先頭に[[プラグマ: \define|Pragma: \define]]を使用することで作成します。定義されたマクロは、そのマクロを定義したTiddler内、およびそれをトランスクルードするすべてのTiddlerで使用できます。
```
\define mymacro(param)
これはマクロのテキストです (param=$param$)
\end
```
!! ネストしたマクロ定義
マクロ定義は、`\end`マーカーでマクロ名を指定することで、必要なレベルまでネストできます。ネストしたマクロ定義は、それを含む定義の先頭に記述する必要があります。例:
<<wikitext-example-without-html src:"""\define special-button(caption:"クリック")
\define actions()
<$action-sendmessage $message="tm-notify" $param="HelloThere"/>
\end actions
<$button actions=<<actions>>>
$caption$
</$button>
\end special-button
<<special-button>>
""">>
外側のマクロがレンダリングされる際に発生するマクロパラメータのテキスト置換は、ネストした定義にも適用されることに注意してください。つまり、一般的に、ネストしたマクロ内ではマクロパラメータのテキスト置換を使用すべきではありません。
ネストしたマクロのパラメータにも、`<<__変数名__>>`構文を介してアクセスできます。通常の変数と同様に、これらのパラメータはネストした子マクロ(および孫マクロなど)内でも使用可能です。
!! Setウィジェットを用いたマクロ定義
マクロは[[変数|Variables]]の特別な型として実装しているため、内部的には<<.wlink SetWidget>>ウィジェットによって定義されます。
```
<$set name="mymacro" value="これはマクロのテキストです">
...
</$set>
```
<<.note """<<.wlink SetWidget>>ウィジェットを使用してマクロを定義する際、現時点ではパラメータを指定することはできません。""">>
!! マクロ定義のインポート
[[プラグマ: \import|Pragma: \import]]や<<.wlink ImportVariablesWidget>>ウィジェットを使用すると、別のTiddlerからマクロ定義をコピーできます。
!! `$:/tags/Macro`タグ
グローバルマクロは、[[システムタグ: $:/tags/Macro|SystemTag: $:/tags/Macro]]を使用して定義できます。
[[システムタグ: $:/tags/Macro/View|SystemTag: $:/tags/Macro/View]]は、メインビューテンプレートとプレビューパネル内でのみ使用可能なマクロを定義するために使用します。
[[システムタグ: $:/tags/Macro/View/Body|SystemTag: $:/tags/Macro/View/Body]]は、メインビューテンプレートの本体とプレビューパネル内でのみ使用可能なマクロを定義するために使用します。
!! JavaScriptマクロ
マクロは<<.js-macro-link "JavaScriptモジュールとして記述">>することもできます。

View File

@@ -0,0 +1,80 @@
created: 20220917154902906
modified: 20260322113926744
original-modified: 20230419103154328
tags: WikiText Macros
title: Macro Parameter Handling
ja-title: マクロパラメータの処理
type: text/vnd.tiddlywiki
!! 紹介
[[マクロ|Macros]]のパラメータは、2つの異なる方法で処理されます:
# マクロの内容が使用される前に、各パラメータに対して必ずテキスト置換が実行されます
# マクロの内容をWiki化すると、パラメータは変数として利用できるようになります。変数名は、パラメータ名を二重アンダースコアで囲んで作成します
やや紛らわしいことに、状況によってはこれら両方のメカニズムが発生する場合があります。これは[[マクロを使用する際の落とし穴|Macro Pitfalls]]に関連しています。
!! パラメータと変数のテキスト置換
マクロのテキストが使用される前に、以下の置換処理が行われます:
* パターン`$param$`は、指定されたパラメータの値に置き換えられます。
* パターン`$(variable)$`は、指定された変数の値に置き換えられます。
マクロが呼ばれるたびに、プレースホルダーにはパラメータや変数の実際の値が代入されます:
<$macrocall $name="wikitext-example-without-html" src="""\define say-hi-using-parameters(name,address)
こんにちは、私は$name$です。$address$に住んでいます。
\end
<<say-hi-using-parameters name:"Bugs" address:"Rabbit Hole Hill">>
"""/>
変数置換を使った例を示します:
<$macrocall $name="wikitext-example-without-html" src="""\define say-hi-using-variables()
こんにちは、私は$(name)$です。$(address)$に住んでいます。
\end
\define name() Bugs
<$let address="Rabbit Hole Hill">
<<say-hi-using-variables>>
</$let>
"""/>
<<.warning """挿入されるテキストに置換トークンが含まれている場合、それらも処理されることに注意してください。これにより、予期しない結果が生じるかもしれません。""">>
!! パラメータを変数としてアクセス
マクロがWiki化されると、パラメータは、パラメータ名を二重アンダースコアで囲んだ変数としてアクセスできます。たとえば、パラメータ`address`は変数`__address__`としてアクセスします。
したがって、上記の例は次のように表現することもできます:
<$macrocall $name="wikitext-example-without-html" src="""\define say-hi-using-parameters(name,address)
こんにちは、私は<<__name__>>です。<<__address__>>に住んでいます。
\end
<<say-hi-using-parameters name:"Bugs" address:"Rabbit Hole Hill">>
"""/>
パラメータを変数としてアクセスできるのは、Wiki化されたマクロの場合のみであり、例えばマクロが属性値として使用される場合にはアクセスできません。
!!! パラメータを変数としてアクセスする利点
このテクニックの主な利点は、パラメータ値がリテラル文字列としてマクロに代入されるのを回避できる点であり、引用符を含むパラメータに関する問題を回避できる点にあります。
例えば、このマクロを考えてみましょう。これは、単一のパラメータを引数として別のマクロを呼び出します:
```
\define film-quote(line) <$macrocall $name="anothermacro" actor="Bugs Bunny" line="""$line$"""/>
```
上記のコードは、引数に三重ダブルクォートが含まれている場合(例:`<<film-quote '3回引用します """ - ほらね!?'>>`)、マクロが呼び出されると失敗します。パラメータ変数を使用することで回避できます:
```
\define film-quote(line) <$macrocall $name="anothermacro" actor="Bugs Bunny" line=<<__line__>>/>
```
詳細は[[マクロを使用する際の落とし穴|Macro Pitfalls]]を参照してください。

View File

@@ -0,0 +1,25 @@
created: 20131205155836435
modified: 20260223101955973
original-modified: 20131214170445345
tags: WikiText
title: Paragraphs in WikiText
ja-title: Wikiテキストでの段落
type: text/vnd.tiddlywiki
caption: 段落
TiddlyWikiで段落の終わりを示すには、`enter`を2回押し、2重改行を入力する必要があります:
```
これは最初の段落です。
そしてこれは二番目の段落です。
```
段落内の単一の改行は無視されます。例えば:
<<wikitext-example src:"これは
短い行で
構成された
段落です">>
この動作が不便な場合は、[[Wikiテキストでの強制改行|Hard Linebreaks in WikiText]]を使用することもできます。

View File

@@ -0,0 +1,35 @@
base-url: http://tiddlywiki.com/
created: 20230615050814821
modified: 20260326113238925
original-modified: 20251021134906488
tags: [[Widget Attributes]] WikiText
title: Substituted Attribute Values
ja-title: 置換属性値
type: text/vnd.tiddlywiki
<<.from-version "5.3.0">>
置換属性値には、2種類の異なる引用スタイルを使用できます:
* 一つのバッククォート <$codeblock code="attr=`value`"/>
* 3重のバッククォート <$codeblock code="attr=```value```"/>
属性値は、フィルタ式や変数のプレースホルダーを対応する値に置き換えたバッククォートで囲まれたテキストです。フィルタ式のプレースホルダーは変数のプレースホルダーよりも前に置換されるため、返される値に対してさらに変数置換を行うことができます。
<<.warning "そのテキストに含まれるその他のWiki構文はそのまま残されます。">>
|プレースホルダー構文|説明|h
|`$(varname)$`|変数のテキスト置換。未定義の変数は空の文字列に置き換えられます。 |
|`${ filter expression }$`|フィルタ式を評価した最初の結果でテキストを置換します。 |
! 例
!! 変数の値を文字列へ代入
<$macrocall $name=wikitext-example-without-html src="""<$text text=`こんにちは、これは "$(currentTiddler)$" Tiddlerです`/>"""/>
!! 変数の値とフィルタ式の評価結果を文字列へ代入
<$macrocall $name=wikitext-example-without-html src="""<$text text=`このTiddlerのタイトルは "$(currentTiddler)$" で、最終更新日は ${[{!!modified}format:date[YYYY年MM月DD日]]}$ です`/>"""/>
{{Concatenating variables to create a URL}}
{{Concatenating a text reference to create a URL}}

View File

@@ -0,0 +1,22 @@
created: 20220819100636227
modified: 20260302113247123
original-modified: 20220819101309072
tags: [[Tables in WikiText]]
title: Table Classes, Captions, Headers and Footers
ja-title: 表クラス、キャプション、ヘッダー、フッター
type: text/vnd.tiddlywiki
表のCSSクラス、キャプション、ヘッダー、フッターは、特別な擬似行として指定できます。次の例をご覧ください:
* `|myclass anotherClass|k` は、表にCSSクラス"myclass"と"anotherClass"を割りあてます
* `|これはキャプションです |c` は、表にキャプション"これはキャプションです"を付与します
* `|ヘッダー|ヘッダー|h` は、テキスト"ヘッダー"を含むセルのヘッダー行を追加します
* `|フッター|フッター|f` は、テキスト"フッター"を含むセルのフッター行を追加します
<<wikitext-example-without-html src:"""|myclass anotherClass|k
|これはキャプションです |c
|セル1 |セル2 |
|セル3 |セル3 |
|ヘッダー|ヘッダー|h
|フッター|フッター|f
""">>

View File

@@ -0,0 +1,83 @@
created: 20220817153236691
modified: 20260404112841923
original-modified: 20221010074314452
tags: [[Tables in WikiText]]
title: Tables in WikiText CSS Utility Classes
ja-title: Wikiテキストの表に関するCSSユーティリティクラス
type: text/vnd.tiddlywiki
Wikiテキストの表は、CSSクラスを適用することでスタイルを設定できます。Wikiテキストの表の基本情報やスタイルの設定方法については、[[Wikiテキストでの表|Tables in WikiText]]を参照してください。
{{Table Classes, Captions, Headers and Footers}}
上記のように、結果として生成される表は左揃えで、コンテンツに合わせてサイズが調整されます。これは、ブラウザの表レイアウトのデフォルト動作です。別の動作を実現するには、"`k`行"にさまざまなCSSクラスを追加します。
! ユーティリティクラス
{{Utility Classes}}
! 例
以下の例では表にスタイルクラスを適用していますが、"汎用ユーティリティクラス"は、DIV要素やその他の[[HTMLブロック要素|HTML Block Elements]]にも使用できます。
!! 中央寄せの表
表を水平方向に中央寄せにするには、`tc-center`を使用します:
<<wikitext-example-without-html src:"""|tc-center|k
|これはキャプションです |c
|セル1 |セル2 |
|セル3 |セル4 |
|ヘッダー|ヘッダー|h
|フッター|フッター|f
""">>
!! 中央寄せの表、80%幅
full-tiddler-widthである表に、左右の余白を追加するには、`tc-max-width-80`を使用できます
<<wikitext-example-without-html src:"""|tc-center tc-max-width-80|k
|これはキャプションです |c
|セル1 |<<.lorem>> |
|<<.lorem>> |セル4 |
|ヘッダー|ヘッダー|h
""">>
!! 最大幅の表
表をTiddlerの幅いっぱいに広げるには、`tc-max-width`を使用します
<<wikitext-example-without-html src:"""|tc-max-width|k
|ヘッダー|ヘッダー|h
|セル1 |セル2 |
|セル3 |セル4 |
""">>
!! 最初の列の幅が最小の表
次の例は、`tc-first-col-min-width`により、最初の列の幅がコンテンツに合わせて調整されるシンプルな"フォーム"を示しています。
<<wikitext-example-without-html src:"""|tc-max-width tc-first-col-min-width|k
|ヘッダー|ヘッダー|h
|セル1 |<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
|セル3 |<$edit-text tiddler="$:/temp/test-table-input" field="text"/> |
""">>
!! 最大幅のテキストウィジェットを備えた表
ここでは、前の"フォーム"にクラス`tc-edit-max-width`を追加することで、[[Textウィジェット|TextWidget]]にフルの幅を与えるようにスタイルが付けられています。
<<wikitext-example-without-html src:"""|tc-max-width tc-first-col-min-width tc-edit-max-width|k
|ヘッダー|ヘッダー|h
|セル1 |<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
|セル3 |<$edit-text tiddler="$:/temp/test-table-input" field="text"/> |
""">>
!! 枠線の無い表
以下は最大幅の表です。この表には最大幅の[[Textウィジェット|TextWidget]]が含まれています。最初の列は最小幅に設定されています。さらに、最初の列のすべてのリンクは、ウィンドウのサイズ変更に関係なく、改行(折り返し)__しない__ように設定されています。
<<wikitext-example-without-html src:"""|tc-max-width tc-first-col-min-width tc-edit-max-width tc-table-no-border tc-first-link-nowrap|k
| セル1|<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
|^ [[Tiddlerへのリンク|Link to a tiddler]]<br>さらに詳しい説明|<$edit-text tiddler="$:/temp/test-table-input" field="text"/> |
""">>

View File

@@ -0,0 +1,74 @@
caption: 表
created: 20130914132100000
modified: 20260301110050493
original-modified: 20220819103416274
tags: WikiText
title: Tables in WikiText
ja-title: Wikiテキストでの表
type: text/vnd.tiddlywiki
! 基本
TiddlyWiki5は縦棒`|`記号を使って表をフォーマットします。感嘆符`!`はヘッダーセルを示すために使用します。
<<wikitext-example-without-html src:"""|!セル1 |!セル2 |
|セル3 |セル3 |
""">>
! セルの配置
表のセルの配置は、セルコンテンツの前後にスペース文字を挿入することで制御します。例:
<<wikitext-example-without-html src:"""|左揃えのコンテンツ |
| 右揃えのコンテンツ|
| 中央揃えのコンテンツ |
|+++ 配置がわかるように非常に幅の広い列を作成 +++|
""">>
! セルの垂直方向の配置
セルの垂直方向の配置は、セルの先頭文字に上揃えの場合は`^`を、下揃えの場合は`,`を挿入することで行います。通常の水平方向の配置も可能です。例:
```
|^左上 |^ 上中央 |^ 右上|
|左中央 | 中央 | 右中央|
|,左下 |, 下中央 |, 右下|
```
例は次のように表示されます:
| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |
| ::<br>:: |^左上 |^ 上中央 |^ 右上| ::<br>:: |
| ::<br>:: |左中央 | 中央 | 右中央| ::<br>:: |
| ::<br>:: |,左下 |, 下中央 |, 右下| ::<br>:: |
| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |
左揃えのセルの最初の文字として`^`や`,`を使用する場合は、HTMLエスケープを使用できます:
| `^` | &amp;#94; |
| `,` | &amp;#44; |
! セルの結合
表のセルを上のセルと結合するには、特殊なセルテキスト`~`を使用します。セルをその左のセルと結合するには、テキスト`<`を使用します。セルをその右のセルと結合するには、テキスト`>`を使用します。例:
<<wikitext-example-without-html src:"""|セル1 |セル2 |セル3 |セル4 |
|セル5 |セル6 |セル7 |<|
|セル5 |~|セル7 |セル8 |
|>|セル9 |セル10 |セル11 |
""">>
! 表クラス、キャプション、ヘッダー、フッター
{{Table Classes, Captions, Headers and Footers}}
その他の例については、[[Wikiテキストでの表 CSSユーティリティクラス|Tables in WikiText CSS Utility Classes]]を参照してください

View File

@@ -0,0 +1,16 @@
created: 20230615045327830
modified: 20260303112704709
original-modified: 20230615045353826
tags: [[Widget Attributes]] WikiText
title: Transcluded Attribute Values
ja-title: トランスクルードされた属性値
type: text/vnd.tiddlywiki
トランスクルードされた属性値は、[[テキスト参照|TextReference]]を二重の中括弧で囲んで示します。例:
```
attr={{tiddler}}
attr={{!!field}}
attr={{tiddler!!field}}
```
<<.warning "属性値の値は、[[テキスト参照|TextReference]]から取得されたテキストそのものになります。そのテキストに含まれるWiki構文はそのまま残ります。">>

View File

@@ -0,0 +1,47 @@
created: 20141129201509859
modified: 20260402111456035
original-modified: 20141130194810119
tags: [[Transclusion in WikiText]]
title: Transclusion Basic Usage
ja-title: トランスクルージョンの基本的な使用法
caption: 基本的な使用法
! 単純なトランスクルージョン
[[TiddlerA]]のコンテンツを[[TiddlerB]]に取り込むには、後者を編集して次のテキストを含めます:
```
これはTiddlerAのコンテンツです: {{TiddlerA}}
```
その結果、[[TiddlerA]]の''text''フィールドの内容(つまりメインコンテンツ)が[[TiddlerB]]内にレンダリングされます。
! 使用法
表記``{{TiddlerA}}``は``{{TiddlerA!!text}}``のショートカットです。これは、トランスクルージョンのデフォルトフィールドが''text''であるためですが、他の[[フィールド|TiddlerFields]]も明示的に使用できます。たとえば、次のようにしてTiddlerAが最後に変更された時刻を表示できます:
```
TiddlerAは{{TiddlerA!!modified}}に更新されました
```
Tiddlerのタイトルを省略することで、トランスクルージョン表記を使用して、現在のTiddlerのフィールドの内容を表示することもできます。例:
```
このTiddlerは{{!!modified}}に更新されました
```
! 再帰エラー
``{{!!text}}``や``{{}}``を使用するとエラー(//Recursive transclusion error in transclude widget//)が発生することに注意してください。これは、現在のTiddlerの内容を現在のTiddlerの内容(つまり、それ自身)に含めることは無意味なためです。このエラーメッセージに遭遇した場合は、直接的または間接的に何かをそれ自身に含めようとしていることを意味します(たとえば、Tiddler A がTiddler Bをトランスクルードし、Tiddler BがTiddler Cをトランスクルードし、Tiddler CがさらにTiddler Aをトランスクルードする場合など)。
! もっと詳しく知るには
TiddlyWikiでは、トランスクルージョンは上記のような生コンテンツを含めることだけに限定されません。トランスクルージョンのより高度な使用方法については、[[テンプレートを使用したトランスクルージョン|Transclusion with Templates]]を参照してください。
参考:
* [[トランスクルージョン|Transclusion]]
* [[テンプレートを使用したトランスクルージョン|Transclusion with Templates]]
* [[Wikiテキストでのトランスクルージョン|Transclusion in WikiText]]
* [[テキスト参照|TextReference]]
* [[Tiddlerのフィールド|TiddlerFields]]

View File

@@ -0,0 +1,62 @@
created: 20141018090608643
modified: 20260329112320535
original-modified: 20231030124224424
tags: WikiText
title: Transclusion and Substitution
ja-title: トランスクルージョンと置換
type: text/vnd.tiddlywiki
[[Wikiテキスト|WikiText]]の強みは、あるTiddlerの内容を別のTiddlerの中に組み込むことができる点にあります。この機能にはいくつかの異なる形態があり、混同しやすい。
主な違いは、テキストのトランスクルージョンとテキストの置換にあります。
* トランスクルージョンは、以下のいずれかの値で動的に置き換えられます:
** Tiddlerフィールド
** 変数
* マクロ定義のテキストは、使用される前にテキスト置換処理が実施されます。
! Tiddlerフィールドのトランスクルージョン
[[Wikiテキストでのトランスクルージョン|Transclusion in WikiText]]では、トランスクルージョンの基本について説明しています。例えば:
```
{{MyTiddler}}
```
[[WikiテキストでのHTML|HTML in WikiText]]の説明にあるように、Tiddlerフィールドの値をHTMLの要素やウィジェットの属性として含めることもできます。例:
```
<$text text={{MyTiddler}}/>
```
[[フィルタ表記の紹介|Introduction to filter notation]]で説明しているように、[[フィルタのシンタックス|Filter Syntax]]を使用してTiddlerフィールドの値をトランスクルードすることもできます。例えば:
```
{{{ [tag{TiddlerContainingMyTag}] }}}
```
! 変数/マクロのトランスクルージョン
パラメータや変数の置換によって定義された変数は"マクロ"と呼びます。変数/マクロの値は、次の構文でトランスクルードできます:
```
<<myMacro param:"パラメータの値">>
```
[[WikiテキストでのHTML|HTML in WikiText]]の説明にあるように、変数をHTML要素やウィジェットの属性値としてトランスクルードすることもできます。例:
```
<$text text=<<myMacro>>/>
```
[[フィルタ表記の紹介|Introduction to filter notation]]で説明しているように、[[フィルタのシンタックス|Filter Syntax]]を使用して、変数をフィルタパラメータの値としてトランスクルードできます。例:
```
{{{ [tag<myMacro>] }}}
```
! テキスト置換
テキスト置換は、マクロ/変数の値が使用されるときに発生します。[[置換属性値|Substituted Attribute Values]] and [[substituteオペレータ|substitute Operator]]で説明しています。
置換とトランスクルージョンの主な違いは、置換は[[Wikiテキスト|WikiText]]のパースよりも前に行われる点です。つまり、置換を使ってWikiテキストの構造を構築できます。トランスクルージョンは独立して処理されるため、隣接するテキストと組み合わせてWikiテキストの構造を定義することはできません。

View File

@@ -0,0 +1,78 @@
caption: トランスクルージョン
created: 20131205160146648
modified: 20260330113355137
original-modified: 20240102070417483
tags: WikiText
title: Transclusion in WikiText
ja-title: Wikiテキストでのトランスクルージョン
type: text/vnd.tiddlywiki
! 紹介
[[トランスクルージョン|Transclusion]]表記を使用すると、あるTiddlerの内容を別のTiddlerの中に組み込むことができます:
* `{{MyTiddler}}` 単一のTiddlerをトランスクルード
* `{{MyTiddler||TemplateTitle}}` 指定した[[テンプレートTiddler|TemplateTiddlers]]を介してTiddlerを表示
* `{{||TemplateTitle}}` [[現在のTiddler|Current Tiddler]]を変更せずに、指定したテンプレートTiddlerを表示
* `{{MyTiddler|Parameter}}` 単一のパラメータを持つ単一のTiddlerをトランスクルード
* `{{MyTiddler||TemplateTitle|Parameter|SecondParameter}}` 指定した[[テンプレートTiddler|TemplateTiddlers]]を介して、単一のTIddlerを2つのパラメータでトランスクルード
!! テキスト参照のトランスクルード
Tiddlerのタイトルの代わりに[[テキスト参照|TextReference]]を使用することもできます:
* `{{MyTiddler!!field}}` Tiddlerの指定したフィールドをトランスクルード
* `{{!!field}}` 現在のTiddlerの指定したフィールドをトランスクルード
* `{{MyTiddler##index}}` [[データTiddler|DataTiddlers]]の指定したインデックスのプロパティをトランスクルード
* `{{##index}}` 現在の[[データTiddler|DataTiddlers]]の指定したインデックスのプロパティをトランスクルード
!! フィルタによるトランスクルージョン
同様の構文を使用して、指定した[[フィルタ|Filters]]に一致するTiddlerのリストを生成しトランスクルードできます:
```
{{{ [tag[mechanism]] }}}
{{{ [tag[mechanism]]||TemplateTitle }}}
```
[[フィルタリングした属性値|Filtered Attribute Values]]とは対照的に、最初の項目だけではなく、フィルタに一致するすべての項目が含まれます。
!! 生成されるウィジェット
[[Wikiテキスト|WikiText]]のトランスクルージョン構文は、[[Transcludeウィジェット|TranscludeWidget]]をラップした[[Tiddlerウィジェット|TiddlerWidget]]を生成します。例えば、`{{MyTiddler||TemplateTitle}}`は、次のウィジェットのペアが生成されます:
```
<$tiddler tiddler="MyTiddler">
<$transclude $tiddler="TemplateTitle"/>
</$tiddler>
```
フィルタリングしたトランスクルージョン構文`{{{ [tag[mechanism]] }}}`は、以下のウィジェットを生成します。
```
<$list filter="[tag[mechanism]]">
<$link />
</$list>
```
or, when used with a template, `{{{ [tag[mechanism]]||TemplateTitle }}}` expands to
また、テンプレートと一緒に使用する場合、`{{{ [tag[mechanism]]||TemplateTitle }}}`は、次のように展開されます。
```
<$list filter="[tag[mechanism]]">
<$transclude tiddler="TemplateTitle" />
</$list>
```
<<.tip "//Internals//プラグインをインストールすると、生成されたウィジェットツリーをエディターのプレビューペインに表示できます">>
---
参照:
* [[トランスクルージョンの基本的な使用法|Transclusion Basic Usage]]
* [[テンプレートを使用したトランスクルージョン|Transclusion with Templates]]
* [[テンプレートTiddler|TemplateTiddlers]]
* [[Transcludeウィジェット|TranscludeWidget]]
* [[トランスクルージョンと置換|Transclusion and Substitution]]
* [[Wikiテキストパーサモード: トランスクルージョンの例|WikiText parser mode: transclusion examples]]

View File

@@ -0,0 +1,62 @@
created: 20141129210304238
modified: 20260403114617086
original-modified: 20150220161405000
tags: [[Transclusion in WikiText]]
title: Transclusion with Templates
ja-title: テンプレートを使用したトランスクルージョン
caption: テンプレートの使用
! 紹介
[[トランスクルージョンの基本的な使用法|Transclusion Basic Usage]]では、Tiddler Aの内容をTiddler Bに含める方法を説明しました。ここでは、Tiddler Aの内容が次のようになっているとします:
```
@@background-color:yellow;
こんにちは。タイトルは{{!!title}}です
@@
```
この内容により、Tiddler Aのタイトルが黄色の背景で表示されます(CSSスタイルについては、[[WikiTextでのスタイルとクラス|Styles and Classes in WikiText]]を参照してください)。Tiddler Bでも同じようにタイトルを表示したいとします。しかし、後で背景色を変更したり、Tiddler間で一貫性を保ちたいので、スタイル指示をコピーペーストしたくありません。これは典型的なトランスクルージョンのケースのようですので、通常の方法で``{{A}}``を使ってTiddler BにTiddler Aをトランスクルードしてみましょう。Tiddler Bには次の内容が表示されます:
<<<
@@background-color:yellow;
こんにちは。タイトルはAです
@@
<<<
スタイルは期待どおりに適用されますが、タイトルが間違っています。``{{!!title}}``で参照したいのはターゲットのTiddler Bであり、ソースのTiddler Aではありません。
解決策は//テンプレート//を使用することです。この場合、ソースTiddler Aは[[テンプレートTiddler|TemplateTiddlers]]と呼ばれ、表記法``{{||A}}``を使用してTiddler Bに//適用され//ます。違いは、特定のTiddlerを明示的に参照しない[[テキスト参照|TextReference]]はすべて[[現在のTiddler|Current Tiddler]]、つまりターゲットTiddlerに適用されることです。結果として、Tiddler Bは期待どおりに表示されます:
<<<
@@background-color:yellow;
こんにちは。タイトルはBです
@@
<<<
! 使用法
テンプレートを介してトランスクルードすることは、マスクを適用するようなものです。ソースのTiddlerに汎用的な参照(マスクの目の穴など)が含まれていると仮定すると、それらはターゲットのTiddlerの値(マスクを着用している人の目など)に置き換えられます。
テンプレートは、現在のTiddlerだけでなく、任意のTiddlerに適用できます。これは、完全な表記法``{{<target>||<template>}}``を使用して実現します。デフォルトの``<target>``は[[現在のTiddler|Current Tiddler]]です(上記の例で使用したものです)。
! 例
!! タグをきれいに表示するための事前定義済みテンプレート
システムテンプレート``$:/core/ui/TagTemplate``をタグに適用すると、ドロップダウンメニュー付きのタグピルとして表示できます:
```
{{Transclusion||$:/core/ui/TagTemplate}}
```
はこのようにレンダリングされます {{Transclusion||$:/core/ui/TagTemplate}}
参照:
* [[Wikiテキストでのトランスクルージョン|Transclusion in WikiText]]
* [[トランスクルージョンの基本的な使用法|Transclusion Basic Usage]]
* [[テキスト参照|TextReference]]
* [[テンプレートTiddler|TemplateTiddlers]]
* [[Transcludeウィジェット|TranscludeWidget]]
* [[現在のTiddler|Current Tiddler]]

View File

@@ -0,0 +1,69 @@
caption: タイプ付きブロック
created: 20131205161051792
modified: 20260312112018113
original-modified: 20251006150732150
tags: WikiText
title: Typed Blocks in WikiText
ja-title: Wikiテキストでのタイプ付きブロック
type: text/vnd.tiddlywiki
[[Wikiテキスト|WikiText]]には、次のように、明示的な[[コンテンツタイプ|ContentType]]を使用してレンダリングするテキストブロックを含めることができます:
!! SVG画像
<<wikitext-example-without-html
"""$$$image/svg+xml
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="100">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="green" />
</svg>
$$$
""">>
[[コンテンツタイプ|ContentType]]をファイル拡張子で短縮することもできます。例:
<<wikitext-example-without-html
"""$$$.svg
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="100">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>
$$$
"""
>>
!! 不明なタイプ
不明なタイプはプレーンテキストとしてレンダリングします
<<wikitext-example-without-html
"""$$$text/unknown
//フォーマット//がない、プレーンテキスト。
$$$
""">>
!! Wikiテキストの特定タイプ
レンダリングタイプを指定して、特定のテキストレンダリングで表示することもできます。例:
<<wikitext-example-without-html
"""$$$text/vnd.tiddlywiki>text/html
これは、''ある''Wikiテキストです
$$$
""">>
<<wikitext-example-without-html
"""$$$text/vnd.tiddlywiki>text/plain
これは''ある''Wikiテキストです
$$$
""">>
!! CSV表
<<wikitext-example-without-html
"""$$$text/csv
a,b,c
1,2,3
4,5,6
aye,bee,cee
10,22,42
$$$
""">>

View File

@@ -0,0 +1,23 @@
created: 20220818093624828
modified: 20260303113612277
original-modified: 20221010074235929
tags: WikiText
title: Utility Classes
ja-title: ユーティリティクラス
type: text/vnd.tiddlywiki
<<.from-version "5.2.4">> 以下では、[[HTMLブロック要素|HTML Block Elements]]と[[Wikiテキストによる表|Tables in WikiText CSS Utility Classes]]のスタイルを簡単に設定するための定義済みCSSクラスを概説します。
!! 一般的なユーティリティクラス
|`tc-center` |ブロック要素をコンテナの中央に配置します |
|`tc-max-width `|ブロック要素をコンテナの最大幅に拡張します |
|`tc-max-width-80`|ブロック要素の幅をコンテナの最大幅の80%に設定します。この設定は`tc-center`クラスと一緒に使用すると便利です |
|`tc-edit-max-width `|[[テキストウィジェット|TextWidget]]を利用可能な最大幅に拡張します。[[ControlPanel -> 情報 -> 基本|$:/core/ui/ControlPanel/Basics]]を参照してください|
|`tc-first-link-nowrap` |最初のテーブル列のリンクが次の行に折り返されないようにします |
|`tc-clearfix`|<<.from-version "5.3.6">>このクラスは、`class="tc-float-right"`を持つ要素がコンテナ要素からオーバーフローするのを防ぐために使用できます。tc-clearfixは、主要なViewTemplate要素とEditTemplate要素に既に割り当てられています。そのため、デフォルトの設定がそのままでは機能しない場合にのみ使用してください。|
!! 表のユーティリティクラス
|`tc-table-no-border` |表の境界線を削除します |
|`tc-first-col-min-width` |表の最初の列は、コンテンツに合わせて最小限の幅で表示されます |
|`tc-table-wrapper` |<<.from-version "5.3.6">>テーブルがオーバーフローするのを防ぐためにテーブル外の`div`要素に適用されるクラス |

View File

@@ -0,0 +1,19 @@
created: 20230615045239825
modified: 20260404105516691
original-modified: 20230726151053593
tags: [[Widget Attributes]] WikiText
title: Variable Attribute Values
ja-title: 変数の属性値
type: text/vnd.tiddlywiki
変数の属性値は、[[マクロ呼び出し|Macro Calls]]を二重山括弧で囲んで示します。例:
```
<div title=<<MyMacro "Brian">>>
...
</div>
```
ウィジェットの属性を介して呼び出される変数の動作は、[[通常のWikiテキストを介して呼び出される|Behaviour of variables invoked via normal wikitext]]場合とは異なります。さらに、その動作は変数の宣言方法によっても異なります:
{{Behaviour of variables invoked via widget attributes}}

View File

@@ -0,0 +1,28 @@
created: 20230615045526689
modified: 20260405110439714
original-modified: 20230731210638956
tags: WikiText
title: Widget Attributes
ja-title: ウィジェットの属性
type: text/vnd.tiddlywiki
[[HTML要素|HTML in WikiText]]やウィジェットの属性は、いくつかの異なる方法で指定できます:
* [[リテラル文字列|Literal Attribute Values]]
* [[テキスト参照のトランスクルージョン|Transcluded Attribute Values]]
* [[マクロ/変数のトランスクルージョン|Variable Attribute Values]]
* [[フィルター式の結果として|Filtered Attribute Values]]
* <<.from-version "5.3.0">> [[指定された文字列に対してフィルタと変数置換を実行した結果として|Substituted Attribute Values]]
|属性タイプ|構文|h
|リテラル |スペースを含まない値には、シングルクォーテーション、ダブルクォーテーション、トリプルクォーテーション、またはクォーテーションなし |
|トランスクルード |テキスト参照を囲む二重の中括弧 |
|変数 |マクロまたは変数呼び出しを囲む二重の山括弧 |
|フィルタリング結果 |フィルター式を囲む三重の中括弧|
|置換結果|置換処理を行うテキストの、単一または三重のバッククォート|
<$list filter="[[Literal Attribute Values]] [[Transcluded Attribute Values]] [[Variable Attribute Values]] [[Filtered Attribute Values]] [[Substituted Attribute Values]]">
<$link><h1><$view tiddler=<<currentTiddler>> field=ja-title/></h1></$link>
<$transclude mode="block"/>
</$list>

View File

@@ -0,0 +1,33 @@
caption: ウィジェット
created: 20131205160840915
modified: 20260304114416977
original-modified: 20220513113347606
tags: WikiText
title: Widgets in WikiText
ja-title: Wikiテキストでのウィジェット
type: text/vnd.tiddlywiki
ウィジェットは[[Wikiテキスト|WikiText]]内でリッチな機能を提供します。[[HTML要素|HTML in WikiText]]と同じ構文を持ちますが、タグ名は常に`$`で始まります。例えば:
<$macrocall $name=".example" n="1"
eg="""<$button message="tm-navigate" to="HelloThere">こんにちは を開く</$button>
"""/>
ウィジェットは[[WikiテキストでのHTML|HTML in WikiText]]のすべての機能を継承することに注意してください:
* ウィジェットの属性は次のように指定できます:
** 引用符無しの文字列 (スペースを含むことはできない)
** シングルクォートやダブルクォートで囲まれた文字列
** 三重のダブルクォートで囲まれた文字列
** マクロ呼び出し (例: `attr=<<myMacro>>`)
** トランスクルージョン (例: `attr={{MyTiddler!!field}}`)
** フィルタリングしたトランスクルージョン (例: `attr={{{ [filter[op]] }}}`)
** <<.from-version "5.3.0">> [[置換された属性値|Substituted Attribute Values]]
* ウィジェットの内容は、開始タグの後に2つの改行が続く場合([[ブロックモード|Block Mode WikiText]]が強制されます)を除いて、[[インラインモード|Inline Mode WikiText]]で[[パース|WikiText Parser Modes]]されます。
** [[インラインモード|Inline Mode WikiText]]とは、見出し、表、リストなどの[[ブロックモード|Block Mode WikiText]]のパースルールが認識されないことを意味します。
詳細については、[[WikiテキストでのHTML|HTML in WikiText]]を参照してください。
利用できるウィジェットは下記です:
<<list-links "[tag[Widgets]]" class:"multi-columns">>

View File

@@ -0,0 +1,20 @@
created: 20220110233944530
modified: 20260307111229245
original-modified: 20220513112653029
tags: WikiText
title: WikiText Parser Modes
ja-title: Wikiテキストのパーサーモード
type: text/vnd.tiddlywiki
Tiddler(通常はテキストフィールド)を表示するために、[[Wikiテキスト|WikiText]]パーサーはコンテンツを読み込み、解釈し、[[Wikiテキスト|WikiText]]ルールを適用します。パーサーには3つのモードがあります:
* ''プラグマモード'' - パーサーは[[プラグマモードのWikiテキスト|Pragmas]]識別子のみを認識します
* ''ブロックモード'' - パーサーは[[ブロックモードのWikiテキスト|Block Mode WikiText]]識別子のみを認識します
* ''インラインモード'' - パーサーは[[インラインモードのWikiテキスト|Inline Mode WikiText]]のみを認識します
パーサーは、遭遇したテキストに基づいて、[[これらのモード間を遷移|WikiText parser mode transitions]]します。さらに、[[パーサーがWikiテキストを無視する箇所|Places where the parser ignores WikiText]]の識別子もあります。パーサーモードは、[[プラグマ: \parsermode|Pragma: \parsermode]]を使って直接設定することもできます。
<<.tip "インライン vs ブロックの概念は、標準のHTML要素にも存在します。HTMLでは、これら[[2つのレイアウトモード|https://www.w3schools.com/html/html_blocks.asp]]によって、出力が同じ行に収まるかどうかが決まります。
<p>[[ブロックモードのWikiテキスト|Block Mode WikiText]]の多くは[[ブロックレベルのHTML要素|https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements]]に対応しており、[[インラインモードのWikiテキスト|Inline Mode WikiText]]の多くは[[インラインレベルのHTML要素|https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements]]に対応します。しかし、Wikiテキストの場合、この2つのモードは、出力の流れを決定するのと同じくらい、パーサーがどの構文を認識するかを決定する上でも重要です。</p>">>

View File

@@ -0,0 +1,58 @@
created: 20220122145022547
modified: 20260406003530535
original-modified: 20220122180845946
tags: [[WikiText parser mode transitions]]
title: WikiText parser mode: transclusion examples
ja-title: Wikiテキストパーサモード: トランスクルージョンの例
type: text/vnd.tiddlywiki
以下の内容で定義されたTiddler[[表の例|table-example]]を扱います:
<$codeblock code={{table-example}}/>
すると
<table><<wikitext-example-table-header>><tbody>
<<wikitext-example-table-row 1 "* {{table-example}}">>
<<wikitext-example-table-row 2 """* <div>
{{table-example}}
</div>
""">>
<<wikitext-example-table-row 3 "* <$transclude tiddler=table-example/>">>
<<wikitext-example-table-row 4 "* <$transclude tiddler=table-example></$transclude>">>
<<wikitext-example-table-row 5 """* <$transclude tiddler=table-example>
</$transclude>""">>
<<wikitext-example-table-row 6 "* <$transclude tiddler=table-example mode=block/>">>
</tbody></table>
リスト構文は[[ブロックモード|Block Mode WikiText]]で認識され、囲まれた内容は[[インラインモード|Inline Mode WikiText]]で解析されます。パーサーが[[Wikiテキストのトランスクルージョン|Transclusion in WikiText]]を検出すると、現在のパーサモードを使用してトランスクルージョンされたTiddlerの内容を解析します。例Tiddlerの内容には、[[ブロックモード|Block Mode WikiText]]でのみ認識される表構文が含まれています。
したがって、上記の#1では表構文が認識されません。上記の#2では、`div`開始タグの後の空白行によってパーサが[[ブロックモード|Block Mode WikiText]]に戻り、トランスクルードされたテキストがそれを継承して表が認識されます。
[[ウィジェット|TranscludeWidget]]を使用してTiddlerをトランスクルードする場合、パースモードはインラインになります(上記の#3と#4)。ただし、開始タグとそれに続く空行が記述されている場合は除きます(上記の#5)。
<<.tip "同様の例については、[[Wikiテキストパーサモード: マクロの例|WikiText parser mode: macro examples]]も参照してください。ここでの唯一の違いは、<<.wlink TranscludeWidget>>には、タグの記述方法に基づいて暗黙的に決定されるのではなく、パースモードを明示的に上書きできる<<.attr mode>>属性(追加例 #6)があることです">>
---
これらの例では、トランスクルージョンはリスト項目内ではなく、最上位レベルに配置されています:
<table><<wikitext-example-table-header>><tbody>
<<wikitext-example-table-row 1 "{{table-example}}">>
<<wikitext-example-table-row 2 """<div>
{{table-example}}
</div>
""">>
<<wikitext-example-table-row 3 "<$transclude tiddler=table-example/>">>
<<wikitext-example-table-row 4 "<$transclude tiddler=table-example></$transclude>">>
<<wikitext-example-table-row 5 """<$transclude tiddler=table-example>
</$transclude>""">>
<<wikitext-example-table-row 6 "<$transclude tiddler=table-example mode=inline/>">>
</tbody></table>
これらの例のうち、空白行が後に続かない2つの<<.wlink TranscludeWidget>>タグと、<<.attr mode>>=<<.value inline>>を使用したウィジェット呼び出しが[[インラインモード|Inline Mode WikiText]]で解析されます。
<<.tip "同様の例については、[[Wikiテキストパーサモード: マクロの例|WikiText parser mode: macro examples]]も参照してください。">>

View File

@@ -0,0 +1,10 @@
created: 20220118023452157
modified: 20260406004123304
original-modified: 20220118023529825
tags: [[WikiText parser mode transitions (Examples)]]
title: table-example
ja-title: 表の例
type: text/vnd.tiddlywiki
|セル ワン|セル ツー|
|セル スリー|セル フォー|

View File

@@ -2,7 +2,6 @@ created: 20131127215321439
modified: 20140912135951542
title: $:/DefaultTiddlers
[[Hire the founder of TiddlyWiki]]
[[TiddlyWiki Pre-release]]
HelloThere
[[Quick Start]]

View File

@@ -1,6 +1,6 @@
title: $:/config/LocalPluginLibrary
tags: $:/tags/PluginLibrary
url: http://127.0.0.1:8080/prerelease/library/v5.4.0/index.html
url: http://127.0.0.1:8080/prerelease/library/v5.4.1/index.html
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease Local)
A locally installed version of the official ~TiddlyWiki plugin library at tiddlywiki.com for testing and debugging. //Requires a local web server to share the library//

View File

@@ -1,6 +1,6 @@
title: $:/config/OfficialPluginLibrary
tags: $:/tags/PluginLibrary
url: https://tiddlywiki.com/prerelease/library/v5.4.0/index.html
url: https://tiddlywiki.com/prerelease/library/v5.4.1/index.html
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease)
The prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.

View File

@@ -0,0 +1,13 @@
title: Parse/BackCompat/MacrocallColonNamed
description: Macrocall named-parameter syntax using colon continues to work
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define x(d) got=$d$
<<x d:"hi">>
+
title: ExpectedResult
<p>got=hi</p>

View File

@@ -0,0 +1,13 @@
title: Parse/BackCompat/MacrocallColonNonStrict
description: Colon-separator requires a strict identifier name; otherwise value is treated as positional (fix #9788)
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define x(d) got=$d$
<<x $:/a:"v">>
+
title: ExpectedResult
<p>got=<a class="tc-tiddlylink tc-tiddlylink-missing" href="#%24%3A%2Fa">$:/a</a>:</p>

View File

@@ -0,0 +1,13 @@
title: Parse/BackCompat/MacrocallEqualsNoValue
description: Macrocall named parameter with =-separator but no value fails to parse the macro call
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define x(d) got=$d$
<<x d=>>
+
title: ExpectedResult
<p>&lt;<x d="true">&gt;</x></p>

View File

@@ -0,0 +1,13 @@
title: Parse/BackCompat/MacrocallNamedEquals
description: Macrocall attribute with =-separator (restored compact call syntax, v5.3.9+)
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define x(d) got=$d$
<<x d="hello">>
+
title: ExpectedResult
<p>got=hello</p>

View File

@@ -0,0 +1,13 @@
title: Parse/BackCompat/MacrocallFilteredValue
description: Macrocall attribute value can be a filtered value {{{...}}}
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define x(d) got=$d$
<<x d={{{[[hi]]}}}>>
+
title: ExpectedResult
<p>got=hi</p>

View File

@@ -0,0 +1,17 @@
title: Parse/BackCompat/MacrocallIndirectValue
description: Macrocall attribute value can be an indirect value {{tid!!field}}
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define x(d) got=$d$
<<x d={{Other!!foo}}>>
+
title: ExpectedResult
<p>got=FROM-OTHER</p>
+
title: Other
foo: FROM-OTHER

View File

@@ -0,0 +1,14 @@
title: Parse/BackCompat/MacrocallMvvValue
description: Macrocall attribute value can be an MVV reference ((v))
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define d() DEFD
\define x(d) got=$d$
<<x d=((d))>>
+
title: ExpectedResult
<p>got=DEFD</p>

View File

@@ -0,0 +1,14 @@
title: Parse/BackCompat/MacrocallNestedMacroValue
description: Macrocall attribute value can be a nested macro invocation
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define d() DEFD
\define x(d) got=$d$
<<x d=<<d>>>>
+
title: ExpectedResult
<p>got=DEFD</p>

View File

@@ -0,0 +1,13 @@
title: Parse/BackCompat/MacrocallSubstitutedValue
description: Macrocall attribute value can be a substituted value `...`
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\define x(d) got=$d$
<<x d=`hi`>>
+
title: ExpectedResult
<p>got=hi</p>

Some files were not shown because too many files have changed in this diff Show More