mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-08-07 22:33:50 +00:00
Merge branch 'master' into feat-ai-tools
This commit is contained in:
commit
a6f7c05203
16
.github/workflows/ci.yml
vendored
16
.github/workflows/ci.yml
vendored
@ -5,17 +5,17 @@ on:
|
|||||||
- master
|
- master
|
||||||
- tiddlywiki-com
|
- tiddlywiki-com
|
||||||
env:
|
env:
|
||||||
NODE_VERSION: "18"
|
NODE_VERSION: "22"
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "${{ env.NODE_VERSION }}"
|
node-version: "${{ env.NODE_VERSION }}"
|
||||||
- run: "./bin/ci-test.sh"
|
- run: "./bin/ci-test.sh"
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: playwright-report
|
name: playwright-report
|
||||||
@ -30,8 +30,8 @@ jobs:
|
|||||||
TW5_BUILD_MAIN_EDITION: "./editions/prerelease"
|
TW5_BUILD_MAIN_EDITION: "./editions/prerelease"
|
||||||
TW5_BUILD_OUTPUT: "./output/prerelease"
|
TW5_BUILD_OUTPUT: "./output/prerelease"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "${{ env.NODE_VERSION }}"
|
node-version: "${{ env.NODE_VERSION }}"
|
||||||
- run: "./bin/ci-pre-build.sh"
|
- run: "./bin/ci-pre-build.sh"
|
||||||
@ -62,8 +62,8 @@ jobs:
|
|||||||
TW5_BUILD_OUTPUT: "./output"
|
TW5_BUILD_OUTPUT: "./output"
|
||||||
TW5_BUILD_ARCHIVE: "./output"
|
TW5_BUILD_ARCHIVE: "./output"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "${{ env.NODE_VERSION }}"
|
node-version: "${{ env.NODE_VERSION }}"
|
||||||
- run: "./bin/ci-pre-build.sh"
|
- run: "./bin/ci-pre-build.sh"
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# Default to the current version number for building the plugin library
|
# Default to the current version number for building the plugin library
|
||||||
|
|
||||||
if [ -z "$TW5_BUILD_VERSION" ]; then
|
if [ -z "$TW5_BUILD_VERSION" ]; then
|
||||||
TW5_BUILD_VERSION=v5.3.6
|
TW5_BUILD_VERSION=v5.3.7
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"
|
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"
|
||||||
@ -97,7 +97,6 @@ if [ -n "$TW5_BUILD_ARCHIVE" ]; then
|
|||||||
|
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
$TW5_BUILD_MAIN_EDITION \
|
$TW5_BUILD_MAIN_EDITION \
|
||||||
--verbose \
|
|
||||||
--version \
|
--version \
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_ARCHIVE \
|
--output $TW5_BUILD_ARCHIVE \
|
||||||
@ -106,6 +105,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# /index.html Main site
|
# /index.html Main site
|
||||||
|
# /external-(version).html External core version of main site
|
||||||
# /favicon.ico Favicon for main site
|
# /favicon.ico Favicon for main site
|
||||||
# /static.html Static rendering of default tiddlers
|
# /static.html Static rendering of default tiddlers
|
||||||
# /alltiddlers.html Static rendering of all tiddlers
|
# /alltiddlers.html Static rendering of all tiddlers
|
||||||
@ -115,11 +115,10 @@ fi
|
|||||||
|
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
$TW5_BUILD_MAIN_EDITION \
|
$TW5_BUILD_MAIN_EDITION \
|
||||||
--verbose \
|
|
||||||
--version \
|
--version \
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--build favicon static index \
|
--build favicon static index external-js \
|
||||||
|| exit 1
|
|| exit 1
|
||||||
|
|
||||||
# /empty.html Empty
|
# /empty.html Empty
|
||||||
@ -128,7 +127,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /tiddlywikicore-<version>.js Core plugin javascript
|
# /tiddlywikicore-<version>.js Core plugin javascript
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/empty \
|
./editions/empty \
|
||||||
--verbose \
|
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--build empty emptyexternalcore \
|
--build empty emptyexternalcore \
|
||||||
|| exit 1
|
|| exit 1
|
||||||
@ -137,7 +135,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /test.html Test edition
|
# /test.html Test edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/test \
|
./editions/test \
|
||||||
--verbose \
|
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all test.html text/plain \
|
--rendertiddler $:/core/save/all test.html text/plain \
|
||||||
|| exit 1
|
|| exit 1
|
||||||
@ -150,7 +147,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /dev/static/static.css Static stylesheet
|
# /dev/static/static.css Static stylesheet
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/dev \
|
./editions/dev \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/dev \
|
--output $TW5_BUILD_OUTPUT/dev \
|
||||||
--build index favicon static \
|
--build index favicon static \
|
||||||
@ -159,7 +155,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /tour.html tour edition
|
# /tour.html tour edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/tour \
|
./editions/tour \
|
||||||
--verbose \
|
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all tour.html text/plain \
|
--rendertiddler $:/core/save/all tour.html text/plain \
|
||||||
|| exit 1
|
|| exit 1
|
||||||
@ -167,7 +162,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /share.html Custom edition for sharing via the URL
|
# /share.html Custom edition for sharing via the URL
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/share \
|
./editions/share \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--build share \
|
--build share \
|
||||||
@ -176,7 +170,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /upgrade.html Custom edition for performing upgrades
|
# /upgrade.html Custom edition for performing upgrades
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/upgrade \
|
./editions/upgrade \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--build upgrade \
|
--build upgrade \
|
||||||
@ -185,7 +178,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /encrypted.html Copy of the main file encrypted with the password "password"
|
# /encrypted.html Copy of the main file encrypted with the password "password"
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
$TW5_BUILD_MAIN_EDITION \
|
$TW5_BUILD_MAIN_EDITION \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--build encrypted \
|
--build encrypted \
|
||||||
@ -201,7 +193,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /editions/xlsx-utils/index.html xlsx-utils edition
|
# /editions/xlsx-utils/index.html xlsx-utils edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/xlsx-utils \
|
./editions/xlsx-utils \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/editions/xlsx-utils/ \
|
--output $TW5_BUILD_OUTPUT/editions/xlsx-utils/ \
|
||||||
--build index \
|
--build index \
|
||||||
@ -210,7 +201,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /editions/resumebuilder/index.html Resume builder edition
|
# /editions/resumebuilder/index.html Resume builder edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/resumebuilder \
|
./editions/resumebuilder \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/editions/resumebuilder/ \
|
--output $TW5_BUILD_OUTPUT/editions/resumebuilder/ \
|
||||||
--build index \
|
--build index \
|
||||||
@ -219,7 +209,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /editions/text-slicer/index.html Text slicer edition
|
# /editions/text-slicer/index.html Text slicer edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/text-slicer \
|
./editions/text-slicer \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/editions/text-slicer/ \
|
--output $TW5_BUILD_OUTPUT/editions/text-slicer/ \
|
||||||
--build index \
|
--build index \
|
||||||
@ -228,7 +217,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /editions/translators/index.html Translators edition
|
# /editions/translators/index.html Translators edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/translators \
|
./editions/translators \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/editions/translators/ \
|
--output $TW5_BUILD_OUTPUT/editions/translators/ \
|
||||||
--build index \
|
--build index \
|
||||||
@ -237,7 +225,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /editions/introduction/index.html Introduction edition
|
# /editions/introduction/index.html Introduction edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/introduction \
|
./editions/introduction \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/editions/introduction/ \
|
--output $TW5_BUILD_OUTPUT/editions/introduction/ \
|
||||||
--build index \
|
--build index \
|
||||||
@ -246,7 +233,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /editions/full/index.html Full edition
|
# /editions/full/index.html Full edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/full \
|
./editions/full \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/editions/full/ \
|
--output $TW5_BUILD_OUTPUT/editions/full/ \
|
||||||
--build index \
|
--build index \
|
||||||
@ -255,7 +241,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /editions/tw5.com-docs/index.html tiddlywiki.com docs edition
|
# /editions/tw5.com-docs/index.html tiddlywiki.com docs edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/tw5.com-docs \
|
./editions/tw5.com-docs \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/editions/tw5.com-docs/ \
|
--output $TW5_BUILD_OUTPUT/editions/tw5.com-docs/ \
|
||||||
--build index \
|
--build index \
|
||||||
@ -264,7 +249,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /editions/twitter-archivist/index.html Twitter Archivist edition
|
# /editions/twitter-archivist/index.html Twitter Archivist edition
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/twitter-archivist \
|
./editions/twitter-archivist \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/editions/twitter-archivist/ \
|
--output $TW5_BUILD_OUTPUT/editions/twitter-archivist/ \
|
||||||
--build index \
|
--build index \
|
||||||
@ -280,7 +264,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
|
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/innerwikidemo \
|
./editions/innerwikidemo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/innerwiki/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/innerwiki/index.html text/plain \
|
||||||
@ -291,7 +274,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
|
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/dynaviewdemo \
|
./editions/dynaviewdemo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/dynaview/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/dynaview/index.html text/plain \
|
||||||
@ -306,7 +288,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
|
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/katexdemo \
|
./editions/katexdemo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/katex/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/katex/index.html text/plain \
|
||||||
@ -317,7 +298,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /plugins/tiddlywiki/tahoelafs/empty.html Empty wiki with Tahoe-LAFS plugin
|
# /plugins/tiddlywiki/tahoelafs/empty.html Empty wiki with Tahoe-LAFS plugin
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/tahoelafs \
|
./editions/tahoelafs \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/tahoelafs/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/tahoelafs/index.html text/plain \
|
||||||
@ -328,7 +308,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /plugins/tiddlywiki/d3/empty.html Empty wiki with D3 plugin
|
# /plugins/tiddlywiki/d3/empty.html Empty wiki with D3 plugin
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/d3demo \
|
./editions/d3demo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/d3/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/d3/index.html text/plain \
|
||||||
@ -339,7 +318,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /plugins/tiddlywiki/codemirror/empty.html Empty wiki with codemirror plugin
|
# /plugins/tiddlywiki/codemirror/empty.html Empty wiki with codemirror plugin
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/codemirrordemo \
|
./editions/codemirrordemo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/codemirror/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/codemirror/index.html text/plain \
|
||||||
@ -350,7 +328,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /plugins/tiddlywiki/markdown/empty.html Empty wiki with Markdown plugin
|
# /plugins/tiddlywiki/markdown/empty.html Empty wiki with Markdown plugin
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/markdowndemo \
|
./editions/markdowndemo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/markdown/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/markdown/index.html text/plain \
|
||||||
@ -361,7 +338,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /plugins/tiddlywiki/tw2parser/empty.html Empty wiki with tw2parser plugin
|
# /plugins/tiddlywiki/tw2parser/empty.html Empty wiki with tw2parser plugin
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/classicparserdemo \
|
./editions/classicparserdemo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/tw2parser/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/tw2parser/index.html text/plain \
|
||||||
@ -372,7 +348,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /plugins/tiddlywiki/highlight/empty.html Empty wiki with highlight plugin
|
# /plugins/tiddlywiki/highlight/empty.html Empty wiki with highlight plugin
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/highlightdemo \
|
./editions/highlightdemo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/highlight/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/highlight/index.html text/plain \
|
||||||
@ -383,7 +358,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /plugins/tiddlywiki/geospatial/empty.html Empty wiki with geospatial plugin
|
# /plugins/tiddlywiki/geospatial/empty.html Empty wiki with geospatial plugin
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/geospatialdemo \
|
./editions/geospatialdemo \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT \
|
--output $TW5_BUILD_OUTPUT \
|
||||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/geospatial/index.html text/plain \
|
--rendertiddler $:/core/save/all plugins/tiddlywiki/geospatial/index.html text/plain \
|
||||||
@ -411,7 +385,6 @@ rm -rf $TW5_BUILD_OUTPUT/languages/zh-Hant/static/*
|
|||||||
# /languages/de-AT/empty.html Empty wiki with de-AT language
|
# /languages/de-AT/empty.html Empty wiki with de-AT language
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/de-AT \
|
./editions/de-AT \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/languages/de-AT \
|
--output $TW5_BUILD_OUTPUT/languages/de-AT \
|
||||||
--build favicon empty static index \
|
--build favicon empty static index \
|
||||||
@ -421,7 +394,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /languages/de-DE/empty.html Empty wiki with de-DE language
|
# /languages/de-DE/empty.html Empty wiki with de-DE language
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/de-DE \
|
./editions/de-DE \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/languages/de-DE \
|
--output $TW5_BUILD_OUTPUT/languages/de-DE \
|
||||||
--build favicon empty static index \
|
--build favicon empty static index \
|
||||||
@ -431,7 +403,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /languages/es-ES/empty.html Empty wiki with es-ES language
|
# /languages/es-ES/empty.html Empty wiki with es-ES language
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/es-ES \
|
./editions/es-ES \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/languages/es-ES \
|
--output $TW5_BUILD_OUTPUT/languages/es-ES \
|
||||||
--build favicon empty static index \
|
--build favicon empty static index \
|
||||||
@ -441,7 +412,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /languages/fr-FR/empty.html Empty wiki with fr-FR language
|
# /languages/fr-FR/empty.html Empty wiki with fr-FR language
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/fr-FR \
|
./editions/fr-FR \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/languages/fr-FR \
|
--output $TW5_BUILD_OUTPUT/languages/fr-FR \
|
||||||
--build favicon empty static index \
|
--build favicon empty static index \
|
||||||
@ -451,7 +421,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /languages/ja-JP/empty.html Empty wiki with ja-JP language
|
# /languages/ja-JP/empty.html Empty wiki with ja-JP language
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/ja-JP \
|
./editions/ja-JP \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/languages/ja-JP \
|
--output $TW5_BUILD_OUTPUT/languages/ja-JP \
|
||||||
--build empty index \
|
--build empty index \
|
||||||
@ -461,7 +430,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /languages/ko-KR/empty.html Empty wiki with ko-KR language
|
# /languages/ko-KR/empty.html Empty wiki with ko-KR language
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/ko-KR \
|
./editions/ko-KR \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/languages/ko-KR \
|
--output $TW5_BUILD_OUTPUT/languages/ko-KR \
|
||||||
--build favicon empty static index \
|
--build favicon empty static index \
|
||||||
@ -471,7 +439,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /languages/zh-Hans/empty.html Empty wiki with zh-Hans language
|
# /languages/zh-Hans/empty.html Empty wiki with zh-Hans language
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/zh-Hans \
|
./editions/zh-Hans \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/languages/zh-Hans \
|
--output $TW5_BUILD_OUTPUT/languages/zh-Hans \
|
||||||
--build empty index \
|
--build empty index \
|
||||||
@ -481,7 +448,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
# /languages/zh-Hant/empty.html Empty wiki with zh-Hant language
|
# /languages/zh-Hant/empty.html Empty wiki with zh-Hant language
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/zh-Hant \
|
./editions/zh-Hant \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/languages/zh-Hant \
|
--output $TW5_BUILD_OUTPUT/languages/zh-Hant \
|
||||||
--build empty index \
|
--build empty index \
|
||||||
@ -495,7 +461,6 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|||||||
|
|
||||||
node $TW5_BUILD_TIDDLYWIKI \
|
node $TW5_BUILD_TIDDLYWIKI \
|
||||||
./editions/pluginlibrary \
|
./editions/pluginlibrary \
|
||||||
--verbose \
|
|
||||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||||
--output $TW5_BUILD_OUTPUT/library/$TW5_BUILD_VERSION \
|
--output $TW5_BUILD_OUTPUT/library/$TW5_BUILD_VERSION \
|
||||||
--build library\
|
--build library\
|
||||||
|
30
boot/boot.js
30
boot/boot.js
@ -232,10 +232,10 @@ $tw.utils.error = function(err) {
|
|||||||
var link = dm("a"),
|
var link = dm("a"),
|
||||||
text = JSON.stringify(tiddlers);
|
text = JSON.stringify(tiddlers);
|
||||||
if(Blob !== undefined) {
|
if(Blob !== undefined) {
|
||||||
var blob = new Blob([text], {type: "text/html"});
|
var blob = new Blob([text], {type: "application/json"});
|
||||||
link.setAttribute("href", URL.createObjectURL(blob));
|
link.setAttribute("href", URL.createObjectURL(blob));
|
||||||
} else {
|
} else {
|
||||||
link.setAttribute("href","data:text/html," + encodeURIComponent(text));
|
link.setAttribute("href","data:application/json," + encodeURIComponent(text));
|
||||||
}
|
}
|
||||||
link.setAttribute("download","emergency-tiddlers-" + (new Date()) + ".json");
|
link.setAttribute("download","emergency-tiddlers-" + (new Date()) + ".json");
|
||||||
document.body.appendChild(link);
|
document.body.appendChild(link);
|
||||||
@ -1470,17 +1470,15 @@ $tw.Wiki = function(options) {
|
|||||||
// Unpack the currently registered plugins, creating shadow tiddlers for their constituent tiddlers
|
// Unpack the currently registered plugins, creating shadow tiddlers for their constituent tiddlers
|
||||||
this.unpackPluginTiddlers = function() {
|
this.unpackPluginTiddlers = function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
// Sort the plugin titles by the `plugin-priority` field
|
// Sort the plugin titles by the `plugin-priority` field, if this field is missing, default to 1
|
||||||
pluginTiddlers.sort(function(a,b) {
|
pluginTiddlers.sort(function(a, b) {
|
||||||
if("plugin-priority" in a.fields && "plugin-priority" in b.fields) {
|
var priorityA = "plugin-priority" in a.fields ? a.fields["plugin-priority"] : 1;
|
||||||
return a.fields["plugin-priority"] - b.fields["plugin-priority"];
|
var priorityB = "plugin-priority" in b.fields ? b.fields["plugin-priority"] : 1;
|
||||||
} else if("plugin-priority" in a.fields) {
|
if (priorityA !== priorityB) {
|
||||||
|
return priorityA - priorityB;
|
||||||
|
} else if (a.fields.title < b.fields.title) {
|
||||||
return -1;
|
return -1;
|
||||||
} else if("plugin-priority" in b.fields) {
|
} else if (a.fields.title === b.fields.title) {
|
||||||
return +1;
|
|
||||||
} else if(a.fields.title < b.fields.title) {
|
|
||||||
return -1;
|
|
||||||
} else if(a.fields.title === b.fields.title) {
|
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
return +1;
|
return +1;
|
||||||
@ -2465,13 +2463,15 @@ $tw.boot.initStartup = function(options) {
|
|||||||
$tw.utils.registerFileType("image/webp","base64",".webp",{flags:["image"]});
|
$tw.utils.registerFileType("image/webp","base64",".webp",{flags:["image"]});
|
||||||
$tw.utils.registerFileType("image/heic","base64",".heic",{flags:["image"]});
|
$tw.utils.registerFileType("image/heic","base64",".heic",{flags:["image"]});
|
||||||
$tw.utils.registerFileType("image/heif","base64",".heif",{flags:["image"]});
|
$tw.utils.registerFileType("image/heif","base64",".heif",{flags:["image"]});
|
||||||
|
$tw.utils.registerFileType("image/avif","base64",".avif",{flags:["image"]});
|
||||||
$tw.utils.registerFileType("image/svg+xml","utf8",".svg",{flags:["image"]});
|
$tw.utils.registerFileType("image/svg+xml","utf8",".svg",{flags:["image"]});
|
||||||
$tw.utils.registerFileType("image/vnd.microsoft.icon","base64",".ico",{flags:["image"]});
|
$tw.utils.registerFileType("image/vnd.microsoft.icon","base64",".ico",{flags:["image"]});
|
||||||
$tw.utils.registerFileType("image/x-icon","base64",".ico",{flags:["image"]});
|
$tw.utils.registerFileType("image/x-icon","base64",".ico",{flags:["image"]});
|
||||||
$tw.utils.registerFileType("application/wasm","base64",".wasm");
|
$tw.utils.registerFileType("application/wasm","base64",".wasm");
|
||||||
$tw.utils.registerFileType("application/font-woff","base64",".woff");
|
$tw.utils.registerFileType("font/woff","base64",".woff");
|
||||||
$tw.utils.registerFileType("application/x-font-ttf","base64",".woff");
|
$tw.utils.registerFileType("font/woff2","base64",".woff2");
|
||||||
$tw.utils.registerFileType("application/font-woff2","base64",".woff2");
|
$tw.utils.registerFileType("font/ttf","base64",".ttf");
|
||||||
|
$tw.utils.registerFileType("font/otf","base64",".otf");
|
||||||
$tw.utils.registerFileType("audio/ogg","base64",".ogg");
|
$tw.utils.registerFileType("audio/ogg","base64",".ogg");
|
||||||
$tw.utils.registerFileType("audio/mp4","base64",[".mp4",".m4a"]);
|
$tw.utils.registerFileType("audio/mp4","base64",[".mp4",".m4a"]);
|
||||||
$tw.utils.registerFileType("video/ogg","base64",[".ogm",".ogv",".ogg"]);
|
$tw.utils.registerFileType("video/ogg","base64",[".ogm",".ogv",".ogg"]);
|
||||||
|
@ -5,7 +5,3 @@ TiddlyWiki incorporates code from these fine OpenSource projects:
|
|||||||
* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]
|
* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]
|
||||||
* [[The Jasmine JavaScript Test Framework|https://jasmine.github.io/]]
|
* [[The Jasmine JavaScript Test Framework|https://jasmine.github.io/]]
|
||||||
* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]
|
* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]
|
||||||
|
|
||||||
And media from these projects:
|
|
||||||
|
|
||||||
* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]
|
|
||||||
|
@ -4,7 +4,7 @@ type: text/plain
|
|||||||
TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)
|
TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)
|
||||||
|
|
||||||
Copyright (c) 2004-2007, Jeremy Ruston
|
Copyright (c) 2004-2007, Jeremy Ruston
|
||||||
Copyright (c) 2007-2024, UnaMesa Association
|
Copyright (c) 2007-2025, UnaMesa Association
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
5
core/images/language.tid
Normal file
5
core/images/language.tid
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
title: $:/core/images/language
|
||||||
|
tags: $:/tags/Image
|
||||||
|
|
||||||
|
\parameters (size:"22pt")
|
||||||
|
<svg width=<<size>> height=<<size>> class="tc-image-language tc-image-button" viewBox="0 0 92 92"><path d="M0 0h2480.32v3507.87H0z" style="fill:none" transform="scale(.03696 .02613)"/><path d="M71.508 62.298c-1.243 15.83-16.758 28.344-35.714 28.344-5.713 0-11.113-1.136-15.905-3.158-2.977 2.498-8.618 4.183-15.088 4.183-.929 0-1.84-.034-2.73-.102 4.499-1.5 7.989-4.886 9.298-9.099C4.373 76.918 0 69.016 0 60.246 0 49.773 6.237 40.537 15.729 35.07c1.235 7.764 5.492 14.713 11.724 19.953l-7.269 18.453c-.393.976-.676 1.737-.847 2.285a5.326 5.326 0 0 0-.256 1.591c0 .89.368 1.686 1.103 2.388.736.702 1.583 1.052 2.542 1.052 1.13 0 1.942-.33 2.438-.988.497-.659 1.096-1.93 1.797-3.812l1.797-4.826h15.3l1.797 4.723c.239.582.526 1.254.86 2.015.333.762.646 1.327.936 1.695.291.368.65.659 1.078.873.428.213.942.32 1.54.32a3.586 3.586 0 0 0 2.632-1.09c.727-.728 1.09-1.528 1.09-2.4 0-.84-.384-2.183-1.154-4.031l-3.545-8.755c2.142.3 4.34.455 6.58.455 5.541 0 10.824-.951 15.636-2.674Zm-30.563.247 1.059 2.898H30.76l2.32-6.467a43.152 43.152 0 0 0 7.865 3.569Z"/><path d="M71.778 57.635c-4.793 2.023-10.191 3.157-15.907 3.157-19.767 0-35.793-13.61-35.793-30.396S36.104.001 55.87.001c19.772 0 35.797 13.61 35.797 30.395 0 8.77-4.373 16.674-11.371 22.221 1.309 4.211 4.8 7.6 9.299 9.1-.89.067-1.802.1-2.73.1-6.47 0-12.11-1.686-15.088-4.182Zm-15.59-15.887a44.237 44.237 0 0 0 3.3 2.496c4.284 2.942 9.06 5.381 14.33 7.315l2.334-3.517c-5.134-1.871-9.696-4.125-13.69-6.763a42.558 42.558 0 0 1-3.37-2.483c4.247-4.806 7.374-10.43 9.38-16.869h6.698V17.78h-16.7a47.226 47.226 0 0 0-1.528-2.959 52.943 52.943 0 0 0-2.885-4.562l-4.218 1.554a36.467 36.467 0 0 1 2.971 3.983c.427.661.833 1.323 1.217 1.984H36.394v4.148h6.77a36.878 36.878 0 0 0 5.422 11.56 42.918 42.918 0 0 0 4.591 5.497c-4.687 4.017-10.548 6.932-17.582 8.744l2.247 3.709c7.746-2.44 13.861-5.67 18.347-9.689Zm-9.047-19.82h16.991c-1.86 5.668-4.528 10.402-8 14.204a42.526 42.526 0 0 1-4.247-4.922c-2.126-2.883-3.71-5.977-4.744-9.283Z"/></svg>
|
@ -175,6 +175,8 @@ Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Update addres
|
|||||||
Settings/PerformanceInstrumentation/Caption: Performance Instrumentation
|
Settings/PerformanceInstrumentation/Caption: Performance Instrumentation
|
||||||
Settings/PerformanceInstrumentation/Hint: Displays performance statistics in the browser developer console. Requires reload to take effect
|
Settings/PerformanceInstrumentation/Hint: Displays performance statistics in the browser developer console. Requires reload to take effect
|
||||||
Settings/PerformanceInstrumentation/Description: Enable performance instrumentation
|
Settings/PerformanceInstrumentation/Description: Enable performance instrumentation
|
||||||
|
Settings/RecentLimit/Caption: Recent Tab Limit
|
||||||
|
Settings/RecentLimit/Hint: Maximum number of tiddlers to be displayed under the sidebar "Recent" tab
|
||||||
Settings/ToolbarButtonStyle/Caption: Toolbar Button Style
|
Settings/ToolbarButtonStyle/Caption: Toolbar Button Style
|
||||||
Settings/ToolbarButtonStyle/Hint: Choose the style for toolbar buttons:
|
Settings/ToolbarButtonStyle/Hint: Choose the style for toolbar buttons:
|
||||||
Settings/ToolbarButtonStyle/Styles/Borderless: Borderless
|
Settings/ToolbarButtonStyle/Styles/Borderless: Borderless
|
||||||
@ -204,10 +206,10 @@ Settings/MissingLinks/Hint: Choose whether to link to tiddlers that do not exist
|
|||||||
Settings/MissingLinks/Description: Enable links to missing tiddlers
|
Settings/MissingLinks/Description: Enable links to missing tiddlers
|
||||||
SocialCard/Caption: Social Media Card
|
SocialCard/Caption: Social Media Card
|
||||||
SocialCard/Domain/Prompt: Domain name to display for the link (for example, ''tiddlywiki.com'')
|
SocialCard/Domain/Prompt: Domain name to display for the link (for example, ''tiddlywiki.com'')
|
||||||
SocialCard/Hint: This information is used by social and messaging services to display a preview card for links to this TiddlyWiki when hosted online
|
SocialCard/Hint: This information is used by social and messaging services to display a preview card for links to this ~TiddlyWiki when hosted online
|
||||||
SocialCard/PreviewUrl/Prompt: Full URL to preview image for this TiddlyWiki
|
SocialCard/PreviewUrl/Prompt: Full URL to preview image for this ~TiddlyWiki
|
||||||
SocialCard/PreviewUrl/Preview: Preview image:
|
SocialCard/PreviewUrl/Preview: Preview image:
|
||||||
SocialCard/Url/Prompt: Full URL of this TiddlyWiki
|
SocialCard/Url/Prompt: Full URL of this ~TiddlyWiki
|
||||||
StoryTiddler/Caption: Story Tiddler
|
StoryTiddler/Caption: Story Tiddler
|
||||||
StoryTiddler/Hint: This rule cascade is used to dynamically choose the template for displaying a tiddler in the story river.
|
StoryTiddler/Hint: This rule cascade is used to dynamically choose the template for displaying a tiddler in the story river.
|
||||||
StoryView/Caption: Story View
|
StoryView/Caption: Story View
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
title: $:/languages/en-GB/icon
|
|
||||||
type: image/svg+xml
|
|
||||||
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 30" width="1200" height="600">
|
|
||||||
<clipPath id="t">
|
|
||||||
<path d="M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z"/>
|
|
||||||
</clipPath>
|
|
||||||
<path d="M0,0 v30 h60 v-30 z" fill="#00247d"/>
|
|
||||||
<path d="M0,0 L60,30 M60,0 L0,30" stroke="#fff" stroke-width="6"/>
|
|
||||||
<path d="M0,0 L60,30 M60,0 L0,30" clip-path="url(#t)" stroke="#cf142b" stroke-width="4"/>
|
|
||||||
<path d="M30,0 v30 M0,15 h60" stroke="#fff" stroke-width="10"/>
|
|
||||||
<path d="M30,0 v30 M0,15 h60" stroke="#cf142b" stroke-width="6"/>
|
|
||||||
</svg>
|
|
@ -24,7 +24,7 @@ var Command = function(params,commander) {
|
|||||||
|
|
||||||
Command.prototype.execute = function() {
|
Command.prototype.execute = function() {
|
||||||
// Get the build targets defined in the wiki
|
// Get the build targets defined in the wiki
|
||||||
var buildTargets = $tw.boot.wikiInfo.build;
|
var buildTargets = $tw.boot.wikiInfo && $tw.boot.wikiInfo.build;
|
||||||
if(!buildTargets) {
|
if(!buildTargets) {
|
||||||
return "No build targets defined";
|
return "No build targets defined";
|
||||||
}
|
}
|
||||||
|
@ -17,19 +17,24 @@ Export our filter function
|
|||||||
*/
|
*/
|
||||||
exports.function = function(source,operator,options) {
|
exports.function = function(source,operator,options) {
|
||||||
var functionName = operator.operands[0],
|
var functionName = operator.operands[0],
|
||||||
params = [];
|
params = [],
|
||||||
|
results;
|
||||||
$tw.utils.each(operator.operands.slice(1),function(param) {
|
$tw.utils.each(operator.operands.slice(1),function(param) {
|
||||||
params.push({value: param});
|
params.push({value: param});
|
||||||
});
|
});
|
||||||
|
// console.log(`Calling ${functionName} with params ${JSON.stringify(params)}`);
|
||||||
var variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(functionName,{params: params, source: source});
|
var variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(functionName,{params: params, source: source});
|
||||||
if(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition) {
|
if(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition) {
|
||||||
return variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];
|
results = variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];
|
||||||
}
|
}
|
||||||
// Return the input list if the function wasn't found
|
// Return the input list if the function wasn't found
|
||||||
var results = [];
|
if(!results) {
|
||||||
source(function(tiddler,title) {
|
results = [];
|
||||||
results.push(title);
|
source(function(tiddler,title) {
|
||||||
});
|
results.push(title);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// console.log(`function ${functionName} with params ${JSON.stringify(params)} results: ${JSON.stringify(results)}`);
|
||||||
return results;
|
return results;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ exports.run = function(baseName,separator,template,startCount) {
|
|||||||
}
|
}
|
||||||
// $tw.wiki.generateNewTitle = function(baseTitle,options)
|
// $tw.wiki.generateNewTitle = function(baseTitle,options)
|
||||||
// options.prefix must be a string!
|
// options.prefix must be a string!
|
||||||
return this.wiki.generateNewTitle(baseName, {"prefix": separator, "template": template, "startCount": startCount});
|
return this.wiki.generateNewTitle(baseName, {"prefix": separator, "template": template, "startCount": startCount}).trim();
|
||||||
};
|
};
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
@ -40,6 +40,7 @@ exports["image/gif"] = ImageParser;
|
|||||||
exports["image/webp"] = ImageParser;
|
exports["image/webp"] = ImageParser;
|
||||||
exports["image/heic"] = ImageParser;
|
exports["image/heic"] = ImageParser;
|
||||||
exports["image/heif"] = ImageParser;
|
exports["image/heif"] = ImageParser;
|
||||||
|
exports["image/avif"] = ImageParser;
|
||||||
exports["image/x-icon"] = ImageParser;
|
exports["image/x-icon"] = ImageParser;
|
||||||
exports["image/vnd.microsoft.icon"] = ImageParser;
|
exports["image/vnd.microsoft.icon"] = ImageParser;
|
||||||
|
|
||||||
|
@ -46,8 +46,10 @@ function SaverHandler(options) {
|
|||||||
// Filter the changes so that we only count changes to tiddlers that we care about
|
// Filter the changes so that we only count changes to tiddlers that we care about
|
||||||
var filteredChanges = self.filterFn.call(self.wiki,function(iterator) {
|
var filteredChanges = self.filterFn.call(self.wiki,function(iterator) {
|
||||||
$tw.utils.each(changes,function(change,title) {
|
$tw.utils.each(changes,function(change,title) {
|
||||||
var tiddler = self.wiki.getTiddler(title);
|
if(change.normal) {
|
||||||
iterator(tiddler,title);
|
var tiddler = self.wiki.getTiddler(title);
|
||||||
|
iterator(tiddler,title);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// Adjust the number of changes
|
// Adjust the number of changes
|
||||||
@ -183,7 +185,7 @@ SaverHandler.prototype.saveWiki = function(options) {
|
|||||||
// Call the highest priority saver that supports this method
|
// Call the highest priority saver that supports this method
|
||||||
for(var t=this.savers.length-1; t>=0; t--) {
|
for(var t=this.savers.length-1; t>=0; t--) {
|
||||||
var saver = this.savers[t];
|
var saver = this.savers[t];
|
||||||
if(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {
|
if(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename, type: variables.type}})) {
|
||||||
this.logger.log("Saving wiki with method",method,"through saver",saver.info.name);
|
this.logger.log("Saving wiki with method",method,"through saver",saver.info.name);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ DownloadSaver.prototype.save = function(text,method,callback,options) {
|
|||||||
options = options || {};
|
options = options || {};
|
||||||
// Get the current filename
|
// Get the current filename
|
||||||
var filename = options.variables.filename;
|
var filename = options.variables.filename;
|
||||||
|
var type = options.variables.type;
|
||||||
if(!filename) {
|
if(!filename) {
|
||||||
var p = document.location.pathname.lastIndexOf("/");
|
var p = document.location.pathname.lastIndexOf("/");
|
||||||
if(p !== -1) {
|
if(p !== -1) {
|
||||||
@ -32,13 +33,16 @@ DownloadSaver.prototype.save = function(text,method,callback,options) {
|
|||||||
if(!filename) {
|
if(!filename) {
|
||||||
filename = "tiddlywiki.html";
|
filename = "tiddlywiki.html";
|
||||||
}
|
}
|
||||||
|
if(!type) {
|
||||||
|
type = "text/html";
|
||||||
|
}
|
||||||
// Set up the link
|
// Set up the link
|
||||||
var link = document.createElement("a");
|
var link = document.createElement("a");
|
||||||
if(Blob !== undefined) {
|
if(Blob !== undefined) {
|
||||||
var blob = new Blob([text], {type: "text/html"});
|
var blob = new Blob([text], {type: type});
|
||||||
link.setAttribute("href", URL.createObjectURL(blob));
|
link.setAttribute("href", URL.createObjectURL(blob));
|
||||||
} else {
|
} else {
|
||||||
link.setAttribute("href","data:text/html," + encodeURIComponent(text));
|
link.setAttribute("href","data:" + type + "," + encodeURIComponent(text));
|
||||||
}
|
}
|
||||||
link.setAttribute("download",filename);
|
link.setAttribute("download",filename);
|
||||||
document.body.appendChild(link);
|
document.body.appendChild(link);
|
||||||
|
@ -25,7 +25,7 @@ exports.handler = function(request,response,state) {
|
|||||||
response.end();
|
response.end();
|
||||||
} else {
|
} else {
|
||||||
// Redirect to the root wiki if login worked
|
// Redirect to the root wiki if login worked
|
||||||
var location = ($tw.syncadaptor && $tw.syncadaptor.host)? $tw.syncadaptor.host: "/";
|
var location = ($tw.syncadaptor && $tw.syncadaptor.host)? $tw.syncadaptor.host: `${state.pathPrefix}/`;
|
||||||
response.writeHead(302,{
|
response.writeHead(302,{
|
||||||
Location: location
|
Location: location
|
||||||
});
|
});
|
||||||
|
@ -75,7 +75,7 @@ exports.startup = function() {
|
|||||||
$tw.wiki.unpackPluginTiddlers();
|
$tw.wiki.unpackPluginTiddlers();
|
||||||
// Queue change events for the changed shadow tiddlers
|
// Queue change events for the changed shadow tiddlers
|
||||||
$tw.utils.each(Object.keys(changedShadowTiddlers),function(title) {
|
$tw.utils.each(Object.keys(changedShadowTiddlers),function(title) {
|
||||||
$tw.wiki.enqueueTiddlerEvent(title,changedShadowTiddlers[title]);
|
$tw.wiki.enqueueTiddlerEvent(title,changedShadowTiddlers[title], true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,8 +77,9 @@ exports.startup = function() {
|
|||||||
$tw.rootWidget.addEventListener("tm-copy-to-clipboard",function(event) {
|
$tw.rootWidget.addEventListener("tm-copy-to-clipboard",function(event) {
|
||||||
$tw.utils.copyToClipboard(event.param,{
|
$tw.utils.copyToClipboard(event.param,{
|
||||||
successNotification: event.paramObject && event.paramObject.successNotification,
|
successNotification: event.paramObject && event.paramObject.successNotification,
|
||||||
failureNotification: event.paramObject && event.paramObject.failureNotification
|
failureNotification: event.paramObject && event.paramObject.failureNotification,
|
||||||
});
|
plainText: event.paramObject && event.paramObject.plainText
|
||||||
|
},event.paramObject && event.paramObject.type);
|
||||||
});
|
});
|
||||||
// Install the tm-focus-selector message
|
// Install the tm-focus-selector message
|
||||||
$tw.rootWidget.addEventListener("tm-focus-selector",function(event) {
|
$tw.rootWidget.addEventListener("tm-focus-selector",function(event) {
|
||||||
|
@ -88,8 +88,10 @@ exports.startup = function() {
|
|||||||
if($tw.browser) {
|
if($tw.browser) {
|
||||||
var pluginTiddler = $tw.wiki.getTiddler(plugins[0]);
|
var pluginTiddler = $tw.wiki.getTiddler(plugins[0]);
|
||||||
if(pluginTiddler) {
|
if(pluginTiddler) {
|
||||||
|
document.documentElement.setAttribute("lang",pluginTiddler.getFieldString("name"));
|
||||||
document.documentElement.setAttribute("dir",pluginTiddler.getFieldString("text-direction") || "auto");
|
document.documentElement.setAttribute("dir",pluginTiddler.getFieldString("text-direction") || "auto");
|
||||||
} else {
|
} else {
|
||||||
|
document.documentElement.setAttribute("lang","en-GB");
|
||||||
document.documentElement.removeAttribute("dir");
|
document.documentElement.removeAttribute("dir");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,10 +40,10 @@ exports.getFieldString = function(field,defaultValue) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Get the value of a field as a list
|
Get the value of a field as an array / list
|
||||||
*/
|
*/
|
||||||
exports.getFieldList = function(field) {
|
exports.getFieldList = function(field) {
|
||||||
var value = this.fields[field];
|
var value = this.getFieldString(field,null);
|
||||||
// Check for a missing field
|
// Check for a missing field
|
||||||
if(value === undefined || value === null) {
|
if(value === undefined || value === null) {
|
||||||
return [];
|
return [];
|
||||||
|
@ -268,9 +268,10 @@ exports.copyStyles = function(srcDomNode,dstDomNode) {
|
|||||||
/*
|
/*
|
||||||
Copy plain text to the clipboard on browsers that support it
|
Copy plain text to the clipboard on browsers that support it
|
||||||
*/
|
*/
|
||||||
exports.copyToClipboard = function(text,options) {
|
exports.copyToClipboard = function(text,options,type) {
|
||||||
options = options || {};
|
var text = text || "";
|
||||||
text = text || "";
|
var options = options || {};
|
||||||
|
var type = type || "text/plain";
|
||||||
var textArea = document.createElement("textarea");
|
var textArea = document.createElement("textarea");
|
||||||
textArea.style.position = "fixed";
|
textArea.style.position = "fixed";
|
||||||
textArea.style.top = 0;
|
textArea.style.top = 0;
|
||||||
@ -283,10 +284,16 @@ exports.copyToClipboard = function(text,options) {
|
|||||||
textArea.style.outline = "none";
|
textArea.style.outline = "none";
|
||||||
textArea.style.boxShadow = "none";
|
textArea.style.boxShadow = "none";
|
||||||
textArea.style.background = "transparent";
|
textArea.style.background = "transparent";
|
||||||
textArea.value = text;
|
|
||||||
document.body.appendChild(textArea);
|
document.body.appendChild(textArea);
|
||||||
textArea.select();
|
textArea.select();
|
||||||
textArea.setSelectionRange(0,text.length);
|
textArea.setSelectionRange(0,text.length);
|
||||||
|
textArea.addEventListener("copy",function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
if (options.plainText) {
|
||||||
|
event.clipboardData.setData("text/plain",options.plainText);
|
||||||
|
}
|
||||||
|
event.clipboardData.setData(type,text);
|
||||||
|
});
|
||||||
var succeeded = false;
|
var succeeded = false;
|
||||||
try {
|
try {
|
||||||
succeeded = document.execCommand("copy");
|
succeeded = document.execCommand("copy");
|
||||||
|
@ -216,11 +216,11 @@ HttpClientRequest.prototype.send = function(callback) {
|
|||||||
if(lengthComputable) {
|
if(lengthComputable) {
|
||||||
setBinding(self.bindProgress,"" + Math.floor((loaded/total) * 100))
|
setBinding(self.bindProgress,"" + Math.floor((loaded/total) * 100))
|
||||||
}
|
}
|
||||||
self.wiki.invokeActionString(self.progressActions,undefined,{
|
self.wiki.invokeActionString(self.progressActions,undefined,$tw.utils.extend({},self.variables,{
|
||||||
lengthComputable: lengthComputable ? "yes" : "no",
|
lengthComputable: lengthComputable ? "yes" : "no",
|
||||||
loaded: loaded,
|
loaded: loaded,
|
||||||
total: total
|
total: total
|
||||||
},{parentWidget: $tw.rootWidget});
|
}),{parentWidget: $tw.rootWidget});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -56,36 +56,64 @@ Object.defineProperty(TW_TextNode.prototype, "formattedTextContent", {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var TW_Element = function(tag,namespace) {
|
var TW_Style = function(el) {
|
||||||
|
// Define the internal style object
|
||||||
|
var styleObject = {
|
||||||
|
// Method to get the entire style object
|
||||||
|
get: function() {
|
||||||
|
return el._style;
|
||||||
|
},
|
||||||
|
// Method to set styles using a string (e.g. "color:red; background-color:blue;")
|
||||||
|
set: function(str) {
|
||||||
|
var self = this;
|
||||||
|
str = str || "";
|
||||||
|
$tw.utils.each(str.split(";"),function(declaration) {
|
||||||
|
var parts = declaration.split(":"),
|
||||||
|
name = $tw.utils.trim(parts[0]),
|
||||||
|
value = $tw.utils.trim(parts[1]);
|
||||||
|
if(name && value) {
|
||||||
|
el._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// Method to set a specific property without transforming the property name, such as a custom property
|
||||||
|
setProperty: function(name, value) {
|
||||||
|
el._style[name] = value;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Return a Proxy to handle direct access to individual style properties
|
||||||
|
return new Proxy(styleObject, {
|
||||||
|
get: function(target, property) {
|
||||||
|
// If the property exists on styleObject, return it (get, set, setProperty methods)
|
||||||
|
if (property in target) {
|
||||||
|
return target[property];
|
||||||
|
}
|
||||||
|
// Otherwise, return the corresponding property from _style
|
||||||
|
return el._style[$tw.utils.convertStyleNameToPropertyName(property)] || "";
|
||||||
|
},
|
||||||
|
set: function(target, property, value) {
|
||||||
|
// Set the property in _style
|
||||||
|
el._style[$tw.utils.convertStyleNameToPropertyName(property)] = value;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
var TW_Element = function(tag, namespace) {
|
||||||
bumpSequenceNumber(this);
|
bumpSequenceNumber(this);
|
||||||
this.isTiddlyWikiFakeDom = true;
|
this.isTiddlyWikiFakeDom = true;
|
||||||
this.tag = tag;
|
this.tag = tag;
|
||||||
this.attributes = {};
|
this.attributes = {};
|
||||||
this.isRaw = false;
|
this.isRaw = false;
|
||||||
this.children = [];
|
this.children = [];
|
||||||
this._style = {};
|
this._style = {}; // Internal style object
|
||||||
|
this.style = new TW_Style(this); // Proxy for style management
|
||||||
this.namespaceURI = namespace || "http://www.w3.org/1999/xhtml";
|
this.namespaceURI = namespace || "http://www.w3.org/1999/xhtml";
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.setPrototypeOf(TW_Element.prototype,TW_Node.prototype);
|
|
||||||
|
|
||||||
Object.defineProperty(TW_Element.prototype, "style", {
|
Object.setPrototypeOf(TW_Element.prototype,TW_Node.prototype);
|
||||||
get: function() {
|
|
||||||
return this._style;
|
|
||||||
},
|
|
||||||
set: function(str) {
|
|
||||||
var self = this;
|
|
||||||
str = str || "";
|
|
||||||
$tw.utils.each(str.split(";"),function(declaration) {
|
|
||||||
var parts = declaration.split(":"),
|
|
||||||
name = $tw.utils.trim(parts[0]),
|
|
||||||
value = $tw.utils.trim(parts[1]);
|
|
||||||
if(name && value) {
|
|
||||||
self._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Object.defineProperty(TW_Element.prototype, "nodeType", {
|
Object.defineProperty(TW_Element.prototype, "nodeType", {
|
||||||
get: function() {
|
get: function() {
|
||||||
@ -105,7 +133,7 @@ TW_Element.prototype.setAttribute = function(name,value) {
|
|||||||
throw "Cannot setAttribute on a raw TW_Element";
|
throw "Cannot setAttribute on a raw TW_Element";
|
||||||
}
|
}
|
||||||
if(name === "style") {
|
if(name === "style") {
|
||||||
this.style = value;
|
this.style.set(value);
|
||||||
} else {
|
} else {
|
||||||
this.attributes[name] = value + "";
|
this.attributes[name] = value + "";
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,9 @@ BrowseWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
if(this.tooltip) {
|
if(this.tooltip) {
|
||||||
domNode.setAttribute("title",this.tooltip);
|
domNode.setAttribute("title",this.tooltip);
|
||||||
}
|
}
|
||||||
|
if(this.tabIndex) {
|
||||||
|
domNode.setAttribute("tabindex", this.tabIndex);
|
||||||
|
}
|
||||||
// Nw.js supports "nwsaveas" to force a "save as" dialogue that allows a new or existing file to be selected
|
// Nw.js supports "nwsaveas" to force a "save as" dialogue that allows a new or existing file to be selected
|
||||||
if(this.nwsaveas) {
|
if(this.nwsaveas) {
|
||||||
domNode.setAttribute("nwsaveas",this.nwsaveas);
|
domNode.setAttribute("nwsaveas",this.nwsaveas);
|
||||||
@ -56,6 +59,9 @@ BrowseWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
if(this.nwdirectory) {
|
if(this.nwdirectory) {
|
||||||
domNode.setAttribute("nwdirectory",this.nwdirectory);
|
domNode.setAttribute("nwdirectory",this.nwdirectory);
|
||||||
}
|
}
|
||||||
|
if(this.isDisabled === "yes") {
|
||||||
|
domNode.setAttribute("disabled", true);
|
||||||
|
}
|
||||||
// Add a click event handler
|
// Add a click event handler
|
||||||
domNode.addEventListener("change",function (event) {
|
domNode.addEventListener("change",function (event) {
|
||||||
if(self.message) {
|
if(self.message) {
|
||||||
@ -94,6 +100,8 @@ BrowseWidget.prototype.execute = function() {
|
|||||||
this.accept = this.getAttribute("accept");
|
this.accept = this.getAttribute("accept");
|
||||||
this.webkitdirectory = this.getAttribute("webkitdirectory");
|
this.webkitdirectory = this.getAttribute("webkitdirectory");
|
||||||
this.nwdirectory = this.getAttribute("nwdirectory");
|
this.nwdirectory = this.getAttribute("nwdirectory");
|
||||||
|
this.tabIndex = this.getAttribute("tabindex");
|
||||||
|
this.isDisabled = this.getAttribute("disabled", "no");
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -47,6 +47,9 @@ CheckboxWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
if(isChecked === undefined && this.checkboxIndeterminate === "yes") {
|
if(isChecked === undefined && this.checkboxIndeterminate === "yes") {
|
||||||
this.inputDomNode.indeterminate = true;
|
this.inputDomNode.indeterminate = true;
|
||||||
}
|
}
|
||||||
|
if(this.tabIndex) {
|
||||||
|
this.inputDomNode.setAttribute("tabindex", this.tabIndex);
|
||||||
|
}
|
||||||
if(this.isDisabled === "yes") {
|
if(this.isDisabled === "yes") {
|
||||||
this.inputDomNode.setAttribute("disabled",true);
|
this.inputDomNode.setAttribute("disabled",true);
|
||||||
}
|
}
|
||||||
@ -305,6 +308,7 @@ CheckboxWidget.prototype.execute = function() {
|
|||||||
this.checkboxClass = this.getAttribute("class","");
|
this.checkboxClass = this.getAttribute("class","");
|
||||||
this.checkboxInvertTag = this.getAttribute("invertTag","");
|
this.checkboxInvertTag = this.getAttribute("invertTag","");
|
||||||
this.isDisabled = this.getAttribute("disabled","no");
|
this.isDisabled = this.getAttribute("disabled","no");
|
||||||
|
this.tabIndex = this.getAttribute();
|
||||||
// Make the child widgets
|
// Make the child widgets
|
||||||
this.makeChildWidgets();
|
this.makeChildWidgets();
|
||||||
};
|
};
|
||||||
@ -314,7 +318,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
|||||||
*/
|
*/
|
||||||
CheckboxWidget.prototype.refresh = function(changedTiddlers) {
|
CheckboxWidget.prototype.refresh = function(changedTiddlers) {
|
||||||
var changedAttributes = this.computeAttributes();
|
var changedAttributes = this.computeAttributes();
|
||||||
if(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.listField || changedAttributes.listIndex || changedAttributes.filter || changedAttributes.checked || changedAttributes.unchecked || changedAttributes["default"] || changedAttributes.indeterminate || changedAttributes["class"] || changedAttributes.disabled) {
|
if(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.listField || changedAttributes.listIndex || changedAttributes.filter || changedAttributes.checked || changedAttributes.unchecked || changedAttributes["default"] || changedAttributes.indeterminate || changedAttributes["class"] || changedAttributes.disabled || changedAttributes.tabindex) {
|
||||||
this.refreshSelf();
|
this.refreshSelf();
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -125,11 +125,23 @@ DroppableWidget.prototype.handleDropEvent = function(event) {
|
|||||||
// Remove highlighting
|
// Remove highlighting
|
||||||
$tw.utils.removeClass(this.domNodes[0],"tc-dragover");
|
$tw.utils.removeClass(this.domNodes[0],"tc-dragover");
|
||||||
// Try to import the various data types we understand
|
// Try to import the various data types we understand
|
||||||
$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {
|
if(this.droppableActions) {
|
||||||
fieldsArray.forEach(function(fields) {
|
$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {
|
||||||
self.performActions(fields.title || fields.text,event);
|
fieldsArray.forEach(function(fields) {
|
||||||
|
self.performActions(fields.title || fields.text,event);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
|
// Send a TitleList to performListActions
|
||||||
|
if(this.droppableListActions) {
|
||||||
|
$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {
|
||||||
|
var titleList = [];
|
||||||
|
fieldsArray.forEach(function(fields) {
|
||||||
|
titleList.push(fields.title || fields.text);
|
||||||
|
});
|
||||||
|
self.performListActions($tw.utils.stringifyList(titleList),event);
|
||||||
|
});
|
||||||
|
}
|
||||||
// Tell the browser that we handled the drop
|
// Tell the browser that we handled the drop
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
// Stop the drop ripple up to any parent handlers
|
// Stop the drop ripple up to any parent handlers
|
||||||
@ -137,6 +149,13 @@ DroppableWidget.prototype.handleDropEvent = function(event) {
|
|||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
DroppableWidget.prototype.performListActions = function(titleList,event) {
|
||||||
|
if(this.droppableListActions) {
|
||||||
|
var modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);
|
||||||
|
this.invokeActionString(this.droppableListActions,this,event,{actionTiddlerList: titleList, modifier: modifierKey});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
DroppableWidget.prototype.performActions = function(title,event) {
|
DroppableWidget.prototype.performActions = function(title,event) {
|
||||||
if(this.droppableActions) {
|
if(this.droppableActions) {
|
||||||
var modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);
|
var modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);
|
||||||
@ -149,6 +168,7 @@ Compute the internal state of the widget
|
|||||||
*/
|
*/
|
||||||
DroppableWidget.prototype.execute = function() {
|
DroppableWidget.prototype.execute = function() {
|
||||||
this.droppableActions = this.getAttribute("actions");
|
this.droppableActions = this.getAttribute("actions");
|
||||||
|
this.droppableListActions = this.getAttribute("listActions");
|
||||||
this.droppableEffect = this.getAttribute("effect","copy");
|
this.droppableEffect = this.getAttribute("effect","copy");
|
||||||
this.droppableTag = this.getAttribute("tag");
|
this.droppableTag = this.getAttribute("tag");
|
||||||
this.droppableEnable = (this.getAttribute("enable") || "yes") === "yes";
|
this.droppableEnable = (this.getAttribute("enable") || "yes") === "yes";
|
||||||
@ -168,7 +188,8 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
|||||||
*/
|
*/
|
||||||
DroppableWidget.prototype.refresh = function(changedTiddlers) {
|
DroppableWidget.prototype.refresh = function(changedTiddlers) {
|
||||||
var changedAttributes = this.computeAttributes();
|
var changedAttributes = this.computeAttributes();
|
||||||
if(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass || changedAttributes.actions || changedAttributes.effect) {
|
if(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass ||
|
||||||
|
changedAttributes.actions|| changedAttributes.listActions || changedAttributes.effect) {
|
||||||
this.refreshSelf();
|
this.refreshSelf();
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -48,6 +48,9 @@ EditShortcutWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
if(this.shortcutAriaLabel) {
|
if(this.shortcutAriaLabel) {
|
||||||
this.inputNode.setAttribute("aria-label",this.shortcutAriaLabel);
|
this.inputNode.setAttribute("aria-label",this.shortcutAriaLabel);
|
||||||
}
|
}
|
||||||
|
if(this.isDisabled === "yes") {
|
||||||
|
this.inputNode.setAttribute("disabled", true);
|
||||||
|
}
|
||||||
// Assign the current shortcut
|
// Assign the current shortcut
|
||||||
this.updateInputNode();
|
this.updateInputNode();
|
||||||
// Add event handlers
|
// Add event handlers
|
||||||
@ -77,6 +80,7 @@ EditShortcutWidget.prototype.execute = function() {
|
|||||||
this.shortcutTooltip = this.getAttribute("tooltip");
|
this.shortcutTooltip = this.getAttribute("tooltip");
|
||||||
this.shortcutAriaLabel = this.getAttribute("aria-label");
|
this.shortcutAriaLabel = this.getAttribute("aria-label");
|
||||||
this.shortcutFocus = this.getAttribute("focus");
|
this.shortcutFocus = this.getAttribute("focus");
|
||||||
|
this.isDisabled = this.getAttribute("disabled", "no");
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -138,7 +142,7 @@ Selectively refreshes the widget if needed. Returns true if the widget needed re
|
|||||||
*/
|
*/
|
||||||
EditShortcutWidget.prototype.refresh = function(changedTiddlers) {
|
EditShortcutWidget.prototype.refresh = function(changedTiddlers) {
|
||||||
var changedAttributes = this.computeAttributes();
|
var changedAttributes = this.computeAttributes();
|
||||||
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes["default"] || changedAttributes["class"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes["aria-label"] || changedAttributes.focus) {
|
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes["default"] || changedAttributes["class"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes["aria-label"] || changedAttributes.focus || changedAttributes.disabled) {
|
||||||
this.refreshSelf();
|
this.refreshSelf();
|
||||||
return true;
|
return true;
|
||||||
} else if(changedTiddlers[this.shortcutTiddler]) {
|
} else if(changedTiddlers[this.shortcutTiddler]) {
|
||||||
|
@ -43,15 +43,6 @@ EditWidget.prototype.execute = function() {
|
|||||||
// Get our parameters
|
// Get our parameters
|
||||||
this.editTitle = this.getAttribute("tiddler",this.getVariable("currentTiddler"));
|
this.editTitle = this.getAttribute("tiddler",this.getVariable("currentTiddler"));
|
||||||
this.editField = this.getAttribute("field","text");
|
this.editField = this.getAttribute("field","text");
|
||||||
this.editIndex = this.getAttribute("index");
|
|
||||||
this.editClass = this.getAttribute("class");
|
|
||||||
this.editPlaceholder = this.getAttribute("placeholder");
|
|
||||||
this.editTabIndex = this.getAttribute("tabindex");
|
|
||||||
this.editFocus = this.getAttribute("focus","");
|
|
||||||
this.editCancelPopups = this.getAttribute("cancelPopups","");
|
|
||||||
this.editInputActions = this.getAttribute("inputActions");
|
|
||||||
this.editRefreshTitle = this.getAttribute("refreshTitle");
|
|
||||||
this.editAutoComplete = this.getAttribute("autocomplete");
|
|
||||||
// Choose the appropriate edit widget
|
// Choose the appropriate edit widget
|
||||||
this.editorType = this.getEditorType();
|
this.editorType = this.getEditorType();
|
||||||
// Make the child widgets
|
// Make the child widgets
|
||||||
@ -89,8 +80,8 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
|||||||
*/
|
*/
|
||||||
EditWidget.prototype.refresh = function(changedTiddlers) {
|
EditWidget.prototype.refresh = function(changedTiddlers) {
|
||||||
var changedAttributes = this.computeAttributes();
|
var changedAttributes = this.computeAttributes();
|
||||||
// Refresh if an attribute has changed, or the type associated with the target tiddler has changed
|
// Refresh if the editor type has changed
|
||||||
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || (this.getEditorType() !== this.editorType)) {
|
if(changedAttributes.tiddler || changedAttributes.field || (this.getEditorType() !== this.editorType)) {
|
||||||
this.refreshSelf();
|
this.refreshSelf();
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -24,6 +24,10 @@ Inherit from the base widget class
|
|||||||
*/
|
*/
|
||||||
FillWidget.prototype = new Widget();
|
FillWidget.prototype = new Widget();
|
||||||
|
|
||||||
|
FillWidget.prototype.execute = function() {
|
||||||
|
// Do nothing. Make no child widgets. $Fill widgets should be invisible when naturally encountered. Instead, their parseTreeNodes are made available to $slot widgets that want it.
|
||||||
|
};
|
||||||
|
|
||||||
exports.fill = FillWidget;
|
exports.fill = FillWidget;
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
@ -23,15 +23,21 @@ Inherit from the base widget class
|
|||||||
*/
|
*/
|
||||||
GenesisWidget.prototype = new Widget();
|
GenesisWidget.prototype = new Widget();
|
||||||
|
|
||||||
|
GenesisWidget.prototype.computeAttributes = function(options) {
|
||||||
|
options = options || Object.create(null);
|
||||||
|
options.filterFn = function(name) {
|
||||||
|
// Only compute our own attributes which start with a single dollar
|
||||||
|
return name.charAt(0) === "$" && name.charAt(1) !== "$";
|
||||||
|
}
|
||||||
|
return Widget.prototype.computeAttributes.call(this,options);
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Render this widget into the DOM
|
Render this widget into the DOM
|
||||||
*/
|
*/
|
||||||
GenesisWidget.prototype.render = function(parent,nextSibling) {
|
GenesisWidget.prototype.render = function(parent,nextSibling) {
|
||||||
this.parentDomNode = parent;
|
this.parentDomNode = parent;
|
||||||
this.computeAttributes({filterFn: function(name) {
|
this.computeAttributes();
|
||||||
// Only compute our own attributes which start with a single dollar
|
|
||||||
return name.charAt(0) === "$" && name.charAt(1) !== "$";
|
|
||||||
}});
|
|
||||||
this.execute();
|
this.execute();
|
||||||
this.renderChildren(parent,nextSibling);
|
this.renderChildren(parent,nextSibling);
|
||||||
};
|
};
|
||||||
@ -65,6 +71,16 @@ GenesisWidget.prototype.execute = function() {
|
|||||||
children: this.parseTreeNode.children || [],
|
children: this.parseTreeNode.children || [],
|
||||||
isNotRemappable: !this.genesisRemappable
|
isNotRemappable: !this.genesisRemappable
|
||||||
}];
|
}];
|
||||||
|
// Apply attributes in $names/$values
|
||||||
|
this.attributeNames = [];
|
||||||
|
this.attributeValues = [];
|
||||||
|
if(this.genesisNames && this.genesisValues) {
|
||||||
|
this.attributeNames = this.wiki.filterTiddlers(self.genesisNames,this);
|
||||||
|
this.attributeValues = this.wiki.filterTiddlers(self.genesisValues,this);
|
||||||
|
$tw.utils.each(this.attributeNames,function(varname,index) {
|
||||||
|
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],varname,self.attributeValues[index] || "");
|
||||||
|
});
|
||||||
|
}
|
||||||
// Apply explicit attributes
|
// Apply explicit attributes
|
||||||
$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {
|
$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {
|
||||||
var name = attribute.name;
|
var name = attribute.name;
|
||||||
@ -79,16 +95,6 @@ GenesisWidget.prototype.execute = function() {
|
|||||||
}
|
}
|
||||||
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],$tw.utils.extend({},attribute,{name: name}));
|
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],$tw.utils.extend({},attribute,{name: name}));
|
||||||
});
|
});
|
||||||
// Apply attributes in $names/$values
|
|
||||||
this.attributeNames = [];
|
|
||||||
this.attributeValues = [];
|
|
||||||
if(this.genesisNames && this.genesisValues) {
|
|
||||||
this.attributeNames = this.wiki.filterTiddlers(self.genesisNames,this);
|
|
||||||
this.attributeValues = this.wiki.filterTiddlers(self.genesisValues,this);
|
|
||||||
$tw.utils.each(this.attributeNames,function(varname,index) {
|
|
||||||
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],varname,self.attributeValues[index] || "");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// Construct the child widgets
|
// Construct the child widgets
|
||||||
this.makeChildWidgets(parseTreeNodes);
|
this.makeChildWidgets(parseTreeNodes);
|
||||||
};
|
};
|
||||||
|
@ -277,6 +277,8 @@ NavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {
|
|||||||
}
|
}
|
||||||
// Get the current value of the tiddler we're editing
|
// Get the current value of the tiddler we're editing
|
||||||
var tiddler = this.wiki.getTiddler(targetTitle);
|
var tiddler = this.wiki.getTiddler(targetTitle);
|
||||||
|
var defaultType = this.wiki.getTiddlerText("$:/config/DefaultMissingType", "").trim();
|
||||||
|
var defaultFields = { type: defaultType };
|
||||||
// Save the initial value of the draft tiddler
|
// Save the initial value of the draft tiddler
|
||||||
draftTitle = this.generateDraftTitle(targetTitle);
|
draftTitle = this.generateDraftTitle(targetTitle);
|
||||||
var draftTiddler = new $tw.Tiddler({
|
var draftTiddler = new $tw.Tiddler({
|
||||||
@ -288,7 +290,8 @@ NavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {
|
|||||||
"draft.title": targetTitle,
|
"draft.title": targetTitle,
|
||||||
"draft.of": targetTitle
|
"draft.of": targetTitle
|
||||||
},
|
},
|
||||||
this.wiki.getModificationFields()
|
this.wiki.getModificationFields(),
|
||||||
|
tiddler === null || tiddler === undefined ? defaultFields : {}
|
||||||
);
|
);
|
||||||
this.wiki.addTiddler(draftTiddler);
|
this.wiki.addTiddler(draftTiddler);
|
||||||
return draftTiddler;
|
return draftTiddler;
|
||||||
|
@ -47,6 +47,9 @@ RadioWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
if(isChecked) {
|
if(isChecked) {
|
||||||
this.inputDomNode.checked = true;
|
this.inputDomNode.checked = true;
|
||||||
}
|
}
|
||||||
|
if(this.tabIndex) {
|
||||||
|
this.inputDomNode.setAttribute("tabindex", this.tabIndex);
|
||||||
|
}
|
||||||
if(this.isDisabled === "yes") {
|
if(this.isDisabled === "yes") {
|
||||||
this.inputDomNode.setAttribute("disabled",true);
|
this.inputDomNode.setAttribute("disabled",true);
|
||||||
}
|
}
|
||||||
@ -111,6 +114,7 @@ RadioWidget.prototype.execute = function() {
|
|||||||
this.radioClass = this.getAttribute("class","");
|
this.radioClass = this.getAttribute("class","");
|
||||||
this.radioDefault = this.getAttribute("default");
|
this.radioDefault = this.getAttribute("default");
|
||||||
this.isDisabled = this.getAttribute("disabled","no");
|
this.isDisabled = this.getAttribute("disabled","no");
|
||||||
|
this.tabIndex = this.getAttribute("tabindex");
|
||||||
this.radioActions = this.getAttribute("actions","");
|
this.radioActions = this.getAttribute("actions","");
|
||||||
// Make the child widgets
|
// Make the child widgets
|
||||||
this.makeChildWidgets();
|
this.makeChildWidgets();
|
||||||
|
@ -46,6 +46,9 @@ RangeWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
if(this.increment){
|
if(this.increment){
|
||||||
this.inputDomNode.setAttribute("step", this.increment);
|
this.inputDomNode.setAttribute("step", this.increment);
|
||||||
}
|
}
|
||||||
|
if(this.tabIndex) {
|
||||||
|
this.inputDomNode.setAttribute("tabindex", this.tabIndex);
|
||||||
|
}
|
||||||
if(this.isDisabled === "yes") {
|
if(this.isDisabled === "yes") {
|
||||||
this.inputDomNode.setAttribute("disabled",true);
|
this.inputDomNode.setAttribute("disabled",true);
|
||||||
}
|
}
|
||||||
@ -164,6 +167,7 @@ RangeWidget.prototype.execute = function() {
|
|||||||
this.defaultValue = this.getAttribute("default","");
|
this.defaultValue = this.getAttribute("default","");
|
||||||
this.elementClass = this.getAttribute("class","");
|
this.elementClass = this.getAttribute("class","");
|
||||||
this.isDisabled = this.getAttribute("disabled","no");
|
this.isDisabled = this.getAttribute("disabled","no");
|
||||||
|
this.tabIndex = this.getAttribute("tabindex");
|
||||||
// Actions since 5.1.23
|
// Actions since 5.1.23
|
||||||
// Next 2 only fire once!
|
// Next 2 only fire once!
|
||||||
this.actionsMouseDown = this.getAttribute("actionsStart","");
|
this.actionsMouseDown = this.getAttribute("actionsStart","");
|
||||||
|
@ -53,6 +53,9 @@ SelectWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
if(this.selectMultiple) {
|
if(this.selectMultiple) {
|
||||||
domNode.setAttribute("multiple","multiple");
|
domNode.setAttribute("multiple","multiple");
|
||||||
}
|
}
|
||||||
|
if(this.isDisabled === "yes") {
|
||||||
|
domNode.setAttribute("disabled", true);
|
||||||
|
}
|
||||||
if(this.selectSize) {
|
if(this.selectSize) {
|
||||||
domNode.setAttribute("size",this.selectSize);
|
domNode.setAttribute("size",this.selectSize);
|
||||||
}
|
}
|
||||||
@ -172,6 +175,7 @@ SelectWidget.prototype.execute = function() {
|
|||||||
this.selectTabindex = this.getAttribute("tabindex");
|
this.selectTabindex = this.getAttribute("tabindex");
|
||||||
this.selectTooltip = this.getAttribute("tooltip");
|
this.selectTooltip = this.getAttribute("tooltip");
|
||||||
this.selectFocus = this.getAttribute("focus");
|
this.selectFocus = this.getAttribute("focus");
|
||||||
|
this.isDisabled = this.getAttribute("disabled","no");
|
||||||
// Make the child widgets
|
// Make the child widgets
|
||||||
this.makeChildWidgets();
|
this.makeChildWidgets();
|
||||||
};
|
};
|
||||||
@ -182,7 +186,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
|||||||
SelectWidget.prototype.refresh = function(changedTiddlers) {
|
SelectWidget.prototype.refresh = function(changedTiddlers) {
|
||||||
var changedAttributes = this.computeAttributes();
|
var changedAttributes = this.computeAttributes();
|
||||||
// If we're using a different tiddler/field/index then completely refresh ourselves
|
// If we're using a different tiddler/field/index then completely refresh ourselves
|
||||||
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tooltip || changedAttributes.tabindex) {
|
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tooltip || changedAttributes.tabindex || changedAttributes.disabled) {
|
||||||
this.refreshSelf();
|
this.refreshSelf();
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -33,6 +33,7 @@ TestCaseWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
this.execute();
|
this.execute();
|
||||||
// Create container DOM node
|
// Create container DOM node
|
||||||
var domNode = this.document.createElement("div");
|
var domNode = this.document.createElement("div");
|
||||||
|
domNode.setAttribute("class", "tc-test-case " + this.testcaseClass);
|
||||||
this.domNodes.push(domNode);
|
this.domNodes.push(domNode);
|
||||||
parent.insertBefore(domNode,nextSibling);
|
parent.insertBefore(domNode,nextSibling);
|
||||||
// Render the children into a hidden DOM node
|
// Render the children into a hidden DOM node
|
||||||
@ -145,6 +146,7 @@ TestCaseWidget.prototype.execute = function() {
|
|||||||
this.testcaseTestActions = this.getAttribute("testActions");
|
this.testcaseTestActions = this.getAttribute("testActions");
|
||||||
this.testcaseTestExpectedResult = this.getAttribute("testExpectedResult");
|
this.testcaseTestExpectedResult = this.getAttribute("testExpectedResult");
|
||||||
this.testcaseHideIfPass = this.getAttribute("testHideIfPass");
|
this.testcaseHideIfPass = this.getAttribute("testHideIfPass");
|
||||||
|
this.testcaseClass = this.getAttribute("class","");
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -101,6 +101,7 @@ TranscludeWidget.prototype.execute = function() {
|
|||||||
}
|
}
|
||||||
this.sourceText = target.text;
|
this.sourceText = target.text;
|
||||||
this.parserType = target.type;
|
this.parserType = target.type;
|
||||||
|
this._canonical_uri = target._canonical_uri;
|
||||||
// Set the legacy transclusion context variables only if we're not transcluding a variable
|
// Set the legacy transclusion context variables only if we're not transcluding a variable
|
||||||
if(!this.transcludeVariable) {
|
if(!this.transcludeVariable) {
|
||||||
var recursionMarker = this.makeRecursionMarker();
|
var recursionMarker = this.makeRecursionMarker();
|
||||||
@ -228,7 +229,8 @@ TranscludeWidget.prototype.getTransclusionTarget = function() {
|
|||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
text: parserInfo.text,
|
text: parserInfo.text,
|
||||||
type: parserInfo.type
|
type: parserInfo.type,
|
||||||
|
_canonical_uri: parserInfo._canonical_uri
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -455,8 +457,11 @@ TranscludeWidget.prototype.makeRecursionMarker = function() {
|
|||||||
|
|
||||||
TranscludeWidget.prototype.parserNeedsRefresh = function() {
|
TranscludeWidget.prototype.parserNeedsRefresh = function() {
|
||||||
// Doesn't need to consider transcluded variables because a parent variable can't change once a widget has been created
|
// Doesn't need to consider transcluded variables because a parent variable can't change once a widget has been created
|
||||||
var parserInfo = this.wiki.getTextReferenceParserInfo(this.transcludeTitle,this.transcludeField,this.transcludeIndex,{subTiddler:this.transcludeSubTiddler});
|
var parserInfo = this.wiki.getTextReferenceParserInfo(this.transcludeTitle,this.transcludeField,this.transcludeIndex,{
|
||||||
return (this.sourceText === undefined || parserInfo.sourceText !== this.sourceText || parserInfo.parserType !== this.parserType)
|
subTiddler: this.transcludeSubTiddler,
|
||||||
|
defaultType: this.transcludeType
|
||||||
|
});
|
||||||
|
return (this.sourceText === undefined || parserInfo.sourceText !== this.sourceText || parserInfo.parserType !== this.parserType || parserInfo._canonical_uri !== this._canonical_uri);
|
||||||
};
|
};
|
||||||
|
|
||||||
TranscludeWidget.prototype.functionNeedsRefresh = function() {
|
TranscludeWidget.prototype.functionNeedsRefresh = function() {
|
||||||
|
@ -428,6 +428,11 @@ Widget.prototype.assignAttributes = function(domNode,options) {
|
|||||||
destPrefix = options.destPrefix || "",
|
destPrefix = options.destPrefix || "",
|
||||||
EVENT_ATTRIBUTE_PREFIX = "on";
|
EVENT_ATTRIBUTE_PREFIX = "on";
|
||||||
var assignAttribute = function(name,value) {
|
var assignAttribute = function(name,value) {
|
||||||
|
// Process any CSS custom properties
|
||||||
|
if(name.substr(0,2) === "--" && name.length > 2) {
|
||||||
|
domNode.style.setProperty(name,value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Process any style attributes before considering sourcePrefix and destPrefix
|
// Process any style attributes before considering sourcePrefix and destPrefix
|
||||||
if(name.substr(0,6) === "style." && name.length > 6) {
|
if(name.substr(0,6) === "style." && name.length > 6) {
|
||||||
domNode.style[$tw.utils.unHyphenateCss(name.substr(6))] = value;
|
domNode.style[$tw.utils.unHyphenateCss(name.substr(6))] = value;
|
||||||
|
@ -141,12 +141,15 @@ This method should be called after the changes it describes have been made to th
|
|||||||
title: Title of tiddler
|
title: Title of tiddler
|
||||||
isDeleted: defaults to false (meaning the tiddler has been created or modified),
|
isDeleted: defaults to false (meaning the tiddler has been created or modified),
|
||||||
true if the tiddler has been deleted
|
true if the tiddler has been deleted
|
||||||
|
isShadow: defaults to false (meaning the change applies to the normal tiddler),
|
||||||
|
true if the tiddler being changed is a shadow tiddler
|
||||||
*/
|
*/
|
||||||
exports.enqueueTiddlerEvent = function(title,isDeleted) {
|
exports.enqueueTiddlerEvent = function(title,isDeleted,isShadow) {
|
||||||
// Record the touch in the list of changed tiddlers
|
// Record the touch in the list of changed tiddlers
|
||||||
this.changedTiddlers = this.changedTiddlers || Object.create(null);
|
this.changedTiddlers = this.changedTiddlers || Object.create(null);
|
||||||
this.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);
|
this.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);
|
||||||
this.changedTiddlers[title][isDeleted ? "deleted" : "modified"] = true;
|
this.changedTiddlers[title][isDeleted ? "deleted" : "modified"] = true;
|
||||||
|
this.changedTiddlers[title][isShadow ? "shadow" : "normal"] = true;
|
||||||
// Increment the change count
|
// Increment the change count
|
||||||
this.changeCount = this.changeCount || Object.create(null);
|
this.changeCount = this.changeCount || Object.create(null);
|
||||||
if($tw.utils.hop(this.changeCount,title)) {
|
if($tw.utils.hop(this.changeCount,title)) {
|
||||||
@ -1132,6 +1135,7 @@ exports.getTextReferenceParserInfo = function(title,field,index,options) {
|
|||||||
if(tiddler.fields.type) {
|
if(tiddler.fields.type) {
|
||||||
parserInfo.parserType = tiddler.fields.type;
|
parserInfo.parserType = tiddler.fields.type;
|
||||||
}
|
}
|
||||||
|
parserInfo._canonical_uri = tiddler.fields._canonical_uri;
|
||||||
}
|
}
|
||||||
} else if(field) {
|
} else if(field) {
|
||||||
if(field === "title") {
|
if(field === "title") {
|
||||||
|
212
core/palettes/FlexokiDark.tid
Normal file
212
core/palettes/FlexokiDark.tid
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
color-scheme: dark
|
||||||
|
description: An inky color scheme for prose and code
|
||||||
|
name: FlexokiDark
|
||||||
|
tags: $:/tags/Palette
|
||||||
|
title: $:/palettes/FlexokiDark
|
||||||
|
type: application/x-tiddler-dictionary
|
||||||
|
|
||||||
|
flexoki-paper: #FFFCF0
|
||||||
|
flexoki-999: #100F0F
|
||||||
|
flexoki-950: #1C1B1A
|
||||||
|
flexoki-900: #282726
|
||||||
|
flexoki-850: #343331
|
||||||
|
flexoki-800: #403E3C
|
||||||
|
flexoki-700: #575653
|
||||||
|
flexoki-600: #6c6b66
|
||||||
|
flexoki-500: #878580
|
||||||
|
flexoki-300: #B7B5AC
|
||||||
|
flexoki-200: #CECDC3
|
||||||
|
flexoki-150: #DAD8CE
|
||||||
|
flexoki-100: #E6E4D9
|
||||||
|
flexoki-050: #F2F0E5
|
||||||
|
flexoki-red-600: #AF3029
|
||||||
|
flexoki-red-400: #D14D41
|
||||||
|
flexoki-orange-600: #BC5215
|
||||||
|
flexoki-orange-400: #DA702C
|
||||||
|
flexoki-yellow-900: #4D3A0B
|
||||||
|
flexoki-yellow-600: #AD8301
|
||||||
|
flexoki-yellow-400: #D0A215
|
||||||
|
flexoki-yellow-100: #FCEEB8
|
||||||
|
flexoki-green-600: #66800B
|
||||||
|
flexoki-green-400: #879A39
|
||||||
|
flexoki-cyan-950: #142625
|
||||||
|
flexoki-cyan-600: #227d77
|
||||||
|
flexoki-cyan-400: #3AA99F
|
||||||
|
flexoki-cyan-050: #EBF2E7
|
||||||
|
flexoki-blue-600: #205EA6
|
||||||
|
flexoki-blue-400: #4385BE
|
||||||
|
flexoki-purple-600: #5E409D
|
||||||
|
flexoki-purple-400: #8B7EC8
|
||||||
|
flexoki-magenta-600: #A02F6F
|
||||||
|
flexoki-magenta-400: #CE5D97
|
||||||
|
|
||||||
|
flexoki-bg: <<colour flexoki-999>>
|
||||||
|
flexoki-tx-2: <<colour flexoki-500>>
|
||||||
|
flexoki-tx-3: <<colour flexoki-700>>
|
||||||
|
flexoki-ui-3: <<colour flexoki-800>>
|
||||||
|
flexoki-ui-2: <<colour flexoki-850>>
|
||||||
|
flexoki-ui: <<colour flexoki-900>>
|
||||||
|
flexoki-bg-2: <<colour flexoki-950>>
|
||||||
|
flexoki-tx: <<colour flexoki-300>>
|
||||||
|
flexoki-re: <<colour flexoki-red-400>>
|
||||||
|
flexoki-or: <<colour flexoki-orange-400>>
|
||||||
|
flexoki-ye: <<colour flexoki-yellow-400>>
|
||||||
|
flexoki-gr: <<colour flexoki-green-400>>
|
||||||
|
flexoki-cy: <<colour flexoki-cyan-400>>
|
||||||
|
flexoki-bl: <<colour flexoki-blue-400>>
|
||||||
|
flexoki-pu: <<colour flexoki-purple-400>>
|
||||||
|
flexoki-ma: <<colour flexoki-magenta-400>>
|
||||||
|
flexoki-re-2: <<colour flexoki-red-600>>
|
||||||
|
flexoki-or-2: <<colour flexoki-orange-600>>
|
||||||
|
flexoki-ye-2: <<colour flexoki-yellow-600>>
|
||||||
|
flexoki-gr-2: <<colour flexoki-green-600>>
|
||||||
|
flexoki-cy-2: <<colour flexoki-cyan-600>>
|
||||||
|
flexoki-bl-2: <<colour flexoki-blue-600>>
|
||||||
|
flexoki-pu-2: <<colour flexoki-purple-600>>
|
||||||
|
flexoki-ma-2: <<colour flexoki-magenta-600>>
|
||||||
|
|
||||||
|
alert-background: <<colour flexoki-yellow-900>>
|
||||||
|
alert-border: <<colour flexoki-ye>>
|
||||||
|
alert-highlight: <<colour flexoki-re>>
|
||||||
|
alert-muted-foreground: <<colour flexoki-ye>>
|
||||||
|
background: #100F0F
|
||||||
|
blockquote-bar: <<colour flexoki-ma-2>>
|
||||||
|
button-background: <<colour flexoki-bg-2>>
|
||||||
|
button-foreground: <<colour flexoki-paper>>
|
||||||
|
button-border: <<colour flexoki-600>>
|
||||||
|
code-background: <<colour background>>
|
||||||
|
code-border: <<colour flexoki-tx>>
|
||||||
|
code-foreground: <<colour flexoki-tx>>
|
||||||
|
diff-delete-background: <<colour flexoki-re>>
|
||||||
|
diff-delete-foreground: <<colour flexoki-bg-2>>
|
||||||
|
diff-equal-background:
|
||||||
|
diff-equal-foreground: inherit
|
||||||
|
diff-insert-background: <<colour flexoki-gr>>
|
||||||
|
diff-insert-foreground: <<colour flexoki-bg-2>>
|
||||||
|
diff-invisible-background: <<colour flexoki-ye>>
|
||||||
|
diff-invisible-foreground: <<colour flexoki-bg-2>>
|
||||||
|
dirty-indicator: <<colour flexoki-re>>
|
||||||
|
download-background: <<colour flexoki-cy-2>>
|
||||||
|
download-foreground: <<colour background>>
|
||||||
|
dragger-background: <<colour background>>
|
||||||
|
dragger-foreground: <<colour foreground>>
|
||||||
|
dropdown-background: <<colour background>>
|
||||||
|
dropdown-border: <<colour flexoki-ui-3>>
|
||||||
|
dropdown-tab-background-selected: <<colour flexoki-ui>>
|
||||||
|
dropdown-tab-background: <<colour flexoki-ui-3>>
|
||||||
|
dropzone-background: <<colour flexoki-gr>>
|
||||||
|
external-link-background-hover: inherit
|
||||||
|
external-link-background-visited: inherit
|
||||||
|
external-link-background: inherit
|
||||||
|
external-link-foreground-hover: inherit
|
||||||
|
external-link-foreground-visited: <<colour flexoki-bl>>
|
||||||
|
external-link-foreground: <<colour flexoki-bl>>
|
||||||
|
footnote-target-background: <<colour flexoki-bg-2>>
|
||||||
|
foreground: #CECDC3
|
||||||
|
highlight-background: <<colour flexoki-yellow-900>>
|
||||||
|
highlight-foreground: inherit
|
||||||
|
menubar-background: <<colour primary>>
|
||||||
|
menubar-foreground: <<colour flexoki-paper>>
|
||||||
|
message-background: <<colour background>>
|
||||||
|
message-border: <<colour foreground>>
|
||||||
|
message-foreground: <<colour foreground>>
|
||||||
|
modal-backdrop: <<colour foreground>>
|
||||||
|
modal-background: <<colour background>>
|
||||||
|
modal-border: <<colour flexoki-ui-3>>
|
||||||
|
modal-footer-background: <<colour flexoki-ui-2>>
|
||||||
|
modal-footer-border: <<colour flexoki-ui-3>>
|
||||||
|
modal-header-border: <<colour flexoki-ui-3>>
|
||||||
|
muted-foreground: <<colour flexoki-tx-2>>
|
||||||
|
network-activity-foreground: <<colour flexoki-cy>>
|
||||||
|
notification-background: <<colour flexoki-bg>>
|
||||||
|
notification-border: <<colour flexoki-paper>>
|
||||||
|
page-background: <<colour flexoki-bg-2>>
|
||||||
|
pre-background: <<colour flexoki-bg-2>>
|
||||||
|
pre-border: <<colour flexoki-ui-2>>
|
||||||
|
primary: <<colour flexoki-cy>>
|
||||||
|
selection-background: <<colour primary>>
|
||||||
|
selection-foreground: <<colour background>>
|
||||||
|
select-tag-background: <<colour flexoki-bg>>
|
||||||
|
select-tag-foreground: <<colour flexoki-paper>>
|
||||||
|
sidebar-button-foreground: <<colour foreground>>
|
||||||
|
sidebar-controls-foreground-hover: <<colour flexoki-tx>>
|
||||||
|
sidebar-controls-foreground: <<colour flexoki-tx-3>>
|
||||||
|
sidebar-foreground-shadow: transparent
|
||||||
|
sidebar-foreground: <<colour flexoki-tx>>
|
||||||
|
sidebar-muted-foreground-hover: <<colour flexoki-tx>>
|
||||||
|
sidebar-muted-foreground: <<colour flexoki-tx-3>>
|
||||||
|
sidebar-tab-background-selected: <<colour flexoki-bg-2>>
|
||||||
|
sidebar-tab-background: <<colour flexoki-ui-2>>
|
||||||
|
sidebar-tab-border-selected: <<colour tab-border-selected>>
|
||||||
|
sidebar-tab-border: <<colour tab-border>>
|
||||||
|
sidebar-tab-divider: <<colour tab-divider>>
|
||||||
|
sidebar-tab-foreground-selected:
|
||||||
|
sidebar-tab-foreground: <<colour tab-foreground>>
|
||||||
|
sidebar-tiddler-link-foreground-hover: <<colour flexoki-tx>>
|
||||||
|
sidebar-tiddler-link-foreground: <<colour flexoki-tx-2>>
|
||||||
|
site-title-foreground: <<colour tiddler-title-foreground>>
|
||||||
|
stability-stable: <<colour flexoki-gr>>
|
||||||
|
stability-experimental: <<colour flexoki-ye>>
|
||||||
|
stability-deprecated: <<colour flexoki-re>>
|
||||||
|
stability-legacy: <<colour flexoki-bl>>
|
||||||
|
static-alert-foreground: #aaaaaa
|
||||||
|
tab-background-selected: <<colour background>>
|
||||||
|
tab-background: <<colour flexoki-bg-2>>
|
||||||
|
tab-border-selected: <<colour flexoki-ui-3>>
|
||||||
|
tab-border: <<colour flexoki-ui>>
|
||||||
|
tab-divider: <<colour flexoki-ui-2>>
|
||||||
|
tab-foreground-selected: <<colour tab-foreground>>
|
||||||
|
tab-foreground: <<colour flexoki-tx-2>>
|
||||||
|
table-border: <<colour flexoki-ui-2>>
|
||||||
|
table-footer-background: <<colour flexoki-ui>>
|
||||||
|
table-header-background: <<colour flexoki-ui>>
|
||||||
|
tag-background: #D0A215
|
||||||
|
tag-foreground: #100F0F
|
||||||
|
testcase-accent-level-1: <<colour flexoki-bl-2>>
|
||||||
|
testcase-accent-level-2: <<colour flexoki-ye-2>>
|
||||||
|
testcase-accent-level-3: <<colour flexoki-gr-2>>
|
||||||
|
tiddler-background: <<colour background>>
|
||||||
|
tiddler-border: <<colour flexoki-ui-2>>
|
||||||
|
tiddler-controls-foreground-hover: <<colour flexoki-tx-3>>
|
||||||
|
tiddler-controls-foreground-selected: <<colour flexoki-tx-2>>
|
||||||
|
tiddler-controls-foreground: <<colour flexoki-tx-3>>
|
||||||
|
tiddler-editor-background: <<colour flexoki-bg-2>>
|
||||||
|
tiddler-editor-border-image: #ffffff
|
||||||
|
tiddler-editor-border: <<colour flexoki-ui-2>>
|
||||||
|
tiddler-editor-fields-even: <<colour flexoki-ui-3>>
|
||||||
|
tiddler-editor-fields-odd: <<colour flexoki-ui-2>>
|
||||||
|
tiddler-info-background: <<colour flexoki-ui>>
|
||||||
|
tiddler-info-border: <<colour flexoki-ui>>
|
||||||
|
tiddler-info-tab-background: <<colour flexoki-ui>>
|
||||||
|
tiddler-link-background: <<colour background>>
|
||||||
|
tiddler-link-foreground: <<colour primary>>
|
||||||
|
tiddler-subtitle-foreground: <<colour flexoki-tx-3>>
|
||||||
|
tiddler-title-foreground: <<colour flexoki-ma>>
|
||||||
|
toolbar-new-button:
|
||||||
|
toolbar-options-button:
|
||||||
|
toolbar-save-button:
|
||||||
|
toolbar-info-button:
|
||||||
|
toolbar-edit-button:
|
||||||
|
toolbar-close-button:
|
||||||
|
toolbar-delete-button: <<colour flexoki-re>>
|
||||||
|
toolbar-cancel-button:
|
||||||
|
toolbar-done-button:
|
||||||
|
untagged-background: <<colour flexoki-tx-3>>
|
||||||
|
very-muted-foreground: <<colour flexoki-600>>
|
||||||
|
wikilist-background: <<colour flexoki-ui>>
|
||||||
|
wikilist-item: <<colour flexoki-black>>
|
||||||
|
wikilist-info: <<colour flexoki-paper>>
|
||||||
|
wikilist-title: <<colour flexoki-tx-2>>
|
||||||
|
wikilist-title-svg: <<colour wikilist-title>>
|
||||||
|
wikilist-url: <<colour flexoki-tx-3>>
|
||||||
|
wikilist-button-open: <<colour flexoki-gr>>
|
||||||
|
wikilist-button-open-hover: <<colour flexoki-gr-2>>
|
||||||
|
wikilist-button-reveal: <<colour flexoki-cy>>
|
||||||
|
wikilist-button-reveal-hover: <<colour flexoki-cy-2>>
|
||||||
|
wikilist-button-remove: <<colour flexoki-re>>
|
||||||
|
wikilist-button-remove-hover: <<colour flexoki-re-2>>
|
||||||
|
wikilist-toolbar-background: <<colour flexoki-ui-2>>
|
||||||
|
wikilist-toolbar-foreground: <<colour flexoki-600>>
|
||||||
|
wikilist-droplink-dragover: <<colour flexoki-pu>>
|
||||||
|
wikilist-button-background: <<colour flexoki-tx-3>>
|
||||||
|
wikilist-button-foreground: <<colour flexoki-paper>>
|
214
core/palettes/FlexokiLight.tid
Normal file
214
core/palettes/FlexokiLight.tid
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
title: $:/palettes/FlexokiLight
|
||||||
|
name: FlexokiLight
|
||||||
|
description: An inky color scheme for prose and code
|
||||||
|
tags: $:/tags/Palette
|
||||||
|
type: application/x-tiddler-dictionary
|
||||||
|
color-scheme: light
|
||||||
|
|
||||||
|
flexoki-black: #100F0F
|
||||||
|
flexoki-paper: #FFFCF0
|
||||||
|
flexoki-950: #1C1B1A
|
||||||
|
flexoki-900: #282726
|
||||||
|
flexoki-850: #343331
|
||||||
|
flexoki-800: #403E3C
|
||||||
|
flexoki-700: #575653
|
||||||
|
flexoki-600: #6F6E69
|
||||||
|
flexoki-500: #878580
|
||||||
|
flexoki-300: #B7B5AC
|
||||||
|
flexoki-200: #CECDC3
|
||||||
|
flexoki-150: #DAD8CE
|
||||||
|
flexoki-100: #E6E4D9
|
||||||
|
flexoki-050: #F2F0E5
|
||||||
|
flexoki-red-600: #AF3029
|
||||||
|
flexoki-red-400: #D14D41
|
||||||
|
flexoki-orange-600: #BC5215
|
||||||
|
flexoki-orange-400: #DA702C
|
||||||
|
flexoki-yellow-900: #4D3A0B
|
||||||
|
flexoki-yellow-600: #AD8301
|
||||||
|
flexoki-yellow-400: #D0A215
|
||||||
|
flexoki-yellow-100: #FCEEB8
|
||||||
|
flexoki-green-600: #66800B
|
||||||
|
flexoki-green-400: #879A39
|
||||||
|
flexoki-cyan-950: #142625
|
||||||
|
flexoki-cyan-600: #24837B
|
||||||
|
flexoki-cyan-400: #3AA99F
|
||||||
|
flexoki-cyan-050: #EBF2E7
|
||||||
|
flexoki-blue-600: #205EA6
|
||||||
|
flexoki-blue-400: #4385BE
|
||||||
|
flexoki-purple-600: #5E409D
|
||||||
|
flexoki-purple-400: #8B7EC8
|
||||||
|
flexoki-magenta-600: #A02F6F
|
||||||
|
flexoki-magenta-400: #CE5D97
|
||||||
|
|
||||||
|
flexoki-tx: <<colour flexoki-black>>
|
||||||
|
flexoki-tx-2: <<colour flexoki-600>>
|
||||||
|
flexoki-tx-3: <<colour flexoki-300>>
|
||||||
|
flexoki-ui-3: <<colour flexoki-200>>
|
||||||
|
flexoki-ui-2: <<colour flexoki-150>>
|
||||||
|
flexoki-ui: <<colour flexoki-100>>
|
||||||
|
flexoki-bg-2: <<colour flexoki-050>>
|
||||||
|
flexoki-bg: <<colour flexoki-paper>>
|
||||||
|
|
||||||
|
flexoki-re: <<colour flexoki-red-400>>
|
||||||
|
flexoki-or: <<colour flexoki-orange-400>>
|
||||||
|
flexoki-ye: <<colour flexoki-yellow-400>>
|
||||||
|
flexoki-gr: <<colour flexoki-green-400>>
|
||||||
|
flexoki-cy: <<colour flexoki-cyan-400>>
|
||||||
|
flexoki-bl: <<colour flexoki-blue-400>>
|
||||||
|
flexoki-pu: <<colour flexoki-purple-400>>
|
||||||
|
flexoki-ma: <<colour flexoki-magenta-400>>
|
||||||
|
|
||||||
|
flexoki-re-2: <<colour flexoki-red-600>>
|
||||||
|
flexoki-or-2: <<colour flexoki-orange-600>>
|
||||||
|
flexoki-ye-2: <<colour flexoki-yellow-600>>
|
||||||
|
flexoki-gr-2: <<colour flexoki-green-600>>
|
||||||
|
flexoki-cy-2: <<colour flexoki-cyan-600>>
|
||||||
|
flexoki-bl-2: <<colour flexoki-blue-600>>
|
||||||
|
flexoki-pu-2: <<colour flexoki-purple-600>>
|
||||||
|
flexoki-ma-2: <<colour flexoki-magenta-600>>
|
||||||
|
|
||||||
|
alert-background: <<colour flexoki-yellow-100>>
|
||||||
|
alert-border: <<colour flexoki-ye-2>>
|
||||||
|
alert-highlight: <<colour flexoki-re-2>>
|
||||||
|
alert-muted-foreground: <<colour flexoki-tx-2>>
|
||||||
|
background: #FFFCF0
|
||||||
|
blockquote-bar: <<colour flexoki-magenta-600>>
|
||||||
|
button-background: <<colour flexoki-bg-2>>
|
||||||
|
button-foreground: <<colour flexoki-black>>
|
||||||
|
button-border: <<colour flexoki-500>>
|
||||||
|
code-background: <<colour flexoki-bg>>
|
||||||
|
code-border: <<colour flexoki-tx>>
|
||||||
|
code-foreground: <<colour flexoki-tx>>
|
||||||
|
diff-delete-background: <<colour flexoki-re-2>>
|
||||||
|
diff-delete-foreground: <<colour flexoki-paper>>
|
||||||
|
diff-equal-background:
|
||||||
|
diff-equal-foreground: <<colour foreground>>
|
||||||
|
diff-insert-background: <<colour flexoki-gr-2>>
|
||||||
|
diff-insert-foreground: <<colour flexoki-paper>>
|
||||||
|
diff-invisible-background: <<colour flexoki-ye-2>>
|
||||||
|
diff-invisible-foreground: <<colour flexoki-paper>>
|
||||||
|
dirty-indicator: <<colour flexoki-red-600>>
|
||||||
|
download-background: <<colour flexoki-gr>>
|
||||||
|
download-foreground: <<colour background>>
|
||||||
|
dragger-background: <<colour foreground>>
|
||||||
|
dragger-foreground: <<colour background>>
|
||||||
|
dropdown-background: <<colour background>>
|
||||||
|
dropdown-border: <<colour muted-foreground>>
|
||||||
|
dropdown-tab-background-selected: <<colour background>>
|
||||||
|
dropdown-tab-background: <<colour flexoki-bg-2>>
|
||||||
|
dropzone-background: <<colour flexoki-gr>>
|
||||||
|
external-link-background-hover: inherit
|
||||||
|
external-link-background-visited: inherit
|
||||||
|
external-link-background: inherit
|
||||||
|
external-link-foreground-hover: inherit
|
||||||
|
external-link-foreground-visited: <<colour flexoki-bl>>
|
||||||
|
external-link-foreground: <<colour flexoki-bl>>
|
||||||
|
footnote-target-background: <<colour flexoki-bg-2>>
|
||||||
|
foreground: #100F0F
|
||||||
|
highlight-background: <<colour flexoki-yellow-100>>
|
||||||
|
highlight-foreground: inherit
|
||||||
|
menubar-background: <<colour primary>>
|
||||||
|
menubar-foreground: <<colour flexoki-paper>>
|
||||||
|
message-background: <<colour flexoki-bg>>
|
||||||
|
message-border: <<colour flexoki-black>>
|
||||||
|
message-foreground: <<colour flexoki-black>>
|
||||||
|
modal-backdrop: <<colour foreground>>
|
||||||
|
modal-background: <<colour background>>
|
||||||
|
modal-border: <<colour flexoki-tx-3>>
|
||||||
|
modal-footer-background: <<colour flexoki-bg>>
|
||||||
|
modal-footer-border: <<colour flexoki-tx-3>>
|
||||||
|
modal-header-border: <<colour flexoki-tx-3>>
|
||||||
|
muted-foreground: <<colour flexoki-500>>
|
||||||
|
network-activity-foreground: <<colour flexoki-cy-2>>
|
||||||
|
notification-background: <<colour flexoki-bg>>
|
||||||
|
notification-border: <<color flexoki-black>>
|
||||||
|
page-background: <<colour flexoki-bg-2>>
|
||||||
|
pre-background: <<colour flexoki-bg-2>>
|
||||||
|
pre-border: <<colour flexoki-ui-2>>
|
||||||
|
primary: <<colour flexoki-cy-2>>
|
||||||
|
selection-background: <<colour flexoki-cy-2>>
|
||||||
|
selection-foreground: <<colour background>>
|
||||||
|
select-tag-background: <<colour flexoki-bg>>
|
||||||
|
select-tag-foreground: <<color flexoki-black>>
|
||||||
|
sidebar-button-foreground: <<colour foreground>>
|
||||||
|
sidebar-controls-foreground-hover: <<colour flexoki-tx>>
|
||||||
|
sidebar-controls-foreground: <<colour flexoki-tx-3>>
|
||||||
|
sidebar-foreground-shadow: transparent
|
||||||
|
sidebar-foreground: <<colour flexoki-300>>
|
||||||
|
sidebar-muted-foreground-hover: <<colour flexoki-700>>
|
||||||
|
sidebar-muted-foreground: <<colour flexoki-200>>
|
||||||
|
sidebar-tab-background-selected: <<colour flexoki-bg-2>>
|
||||||
|
sidebar-tab-background: <<colour flexoki-ui>>
|
||||||
|
sidebar-tab-border-selected: <<colour tab-border-selected>>
|
||||||
|
sidebar-tab-border: <<colour tab-border>>
|
||||||
|
sidebar-tab-divider: <<colour flexoki-100>>
|
||||||
|
sidebar-tab-foreground-selected:
|
||||||
|
sidebar-tab-foreground: <<colour tab-foreground>>
|
||||||
|
sidebar-tiddler-link-foreground-hover: <<colour flexoki-500>>
|
||||||
|
sidebar-tiddler-link-foreground: <<colour flexoki-700>>
|
||||||
|
site-title-foreground: <<colour tiddler-title-foreground>>
|
||||||
|
stability-stable: <<colour flexoki-green-600>>
|
||||||
|
stability-experimental: <<colour flexoki-yellow-600>>
|
||||||
|
stability-deprecated: <<colour flexoki-red-600>>
|
||||||
|
stability-legacy: <<colour flexoki-blue-600>>
|
||||||
|
static-alert-foreground: <<colour flexoki-tx-3>>
|
||||||
|
tab-background-selected: <<colour background>>
|
||||||
|
tab-background: <<colour flexoki-bg-2>>
|
||||||
|
tab-border-selected: <<colour flexoki-ui-3>>
|
||||||
|
tab-border: <<colour flexoki-ui>>
|
||||||
|
tab-divider: <<colour flexoki-ui-2>>
|
||||||
|
tab-foreground-selected: <<colour tab-foreground>>
|
||||||
|
tab-foreground: <<colour flexoki-tx>>
|
||||||
|
table-border: <<colour flexoki-ui-2>>
|
||||||
|
table-footer-background: <<colour flexoki-tx-3>>
|
||||||
|
table-header-background: <<colour flexoki-bg-2>>
|
||||||
|
tag-background: #AD8301
|
||||||
|
tag-foreground: #FFFCF0
|
||||||
|
testcase-accent-level-1: <<colour flexoki-blue-400>>
|
||||||
|
testcase-accent-level-2: <<colour flexoki-yellow-400>>
|
||||||
|
testcase-accent-level-3: <<colour flexoki-green-400>>
|
||||||
|
tiddler-background: <<colour background>>
|
||||||
|
tiddler-border: <<colour background>>
|
||||||
|
tiddler-controls-foreground-hover: <<colour flexoki-tx-3>>
|
||||||
|
tiddler-controls-foreground-selected: <<colour flexoki-tx-2>>
|
||||||
|
tiddler-controls-foreground: <<colour flexoki-ui-3>>
|
||||||
|
tiddler-editor-background: <<colour flexoki-bg-2>>
|
||||||
|
tiddler-editor-border-image: #ffffff
|
||||||
|
tiddler-editor-border: <<colour flexoki-ui-2>>
|
||||||
|
tiddler-editor-fields-even: <<colour flexoki-ui-3>>
|
||||||
|
tiddler-editor-fields-odd: <<colour flexoki-ui-2>>
|
||||||
|
tiddler-info-background: <<colour flexoki-bg-2>>
|
||||||
|
tiddler-info-border: <<colour flexoki-200>>
|
||||||
|
tiddler-info-tab-background: <<colour flexoki-bg>>
|
||||||
|
tiddler-link-background: <<colour background>>
|
||||||
|
tiddler-link-foreground: <<colour primary>>
|
||||||
|
tiddler-subtitle-foreground: <<colour flexoki-tx-3>>
|
||||||
|
tiddler-title-foreground: <<colour flexoki-magenta-600>>
|
||||||
|
toolbar-new-button:
|
||||||
|
toolbar-options-button:
|
||||||
|
toolbar-save-button:
|
||||||
|
toolbar-info-button:
|
||||||
|
toolbar-edit-button:
|
||||||
|
toolbar-close-button:
|
||||||
|
toolbar-delete-button: <<colour flexoki-re-2>>
|
||||||
|
toolbar-cancel-button:
|
||||||
|
toolbar-done-button:
|
||||||
|
untagged-background: <<colour flexoki-tx-3>>
|
||||||
|
very-muted-foreground: <<colour flexoki-500>>
|
||||||
|
wikilist-background: <<colour flexoki-ui>>
|
||||||
|
wikilist-item: <<colour flexoki-paper>>
|
||||||
|
wikilist-info: <<colour flexoki-black>>
|
||||||
|
wikilist-title: <<colour flexoki-tx-2>>
|
||||||
|
wikilist-title-svg: <<colour wikilist-title>>
|
||||||
|
wikilist-url: <<colour flexoki-tx-3>>
|
||||||
|
wikilist-button-open: <<colour flexoki-gr-2>>
|
||||||
|
wikilist-button-open-hover: <<colour flexoki-gr>>
|
||||||
|
wikilist-button-reveal: <<colour flexoki-cy-2>>
|
||||||
|
wikilist-button-reveal-hover: <<colour flexoki-cy>>
|
||||||
|
wikilist-button-remove: <<colour flexoki-re-2>>
|
||||||
|
wikilist-button-remove-hover: <<colour flexoki-re>>
|
||||||
|
wikilist-toolbar-background: <<colour flexoki-ui-2>>
|
||||||
|
wikilist-toolbar-foreground: <<colour flexoki-500>>
|
||||||
|
wikilist-droplink-dragover: <<colour flexoki-pu>>
|
||||||
|
wikilist-button-background: <<colour flexoki-tx-3>>
|
||||||
|
wikilist-button-foreground: <<colour flexoki-black>>
|
@ -21,9 +21,9 @@ diff-delete-foreground: <<colour foreground>>
|
|||||||
diff-equal-background:
|
diff-equal-background:
|
||||||
diff-equal-foreground: <<colour foreground>>
|
diff-equal-foreground: <<colour foreground>>
|
||||||
diff-insert-background: #b8bb26
|
diff-insert-background: #b8bb26
|
||||||
diff-insert-foreground: <<colour foreground>>
|
diff-insert-foreground: <<colour background>>
|
||||||
diff-invisible-background:
|
diff-invisible-background: #ffff97
|
||||||
diff-invisible-foreground: <<colour muted-foreground>>
|
diff-invisible-foreground: #444347
|
||||||
dirty-indicator: #fb4934
|
dirty-indicator: #fb4934
|
||||||
download-background: #b8bb26
|
download-background: #b8bb26
|
||||||
download-foreground: <<colour background>>
|
download-foreground: <<colour background>>
|
||||||
|
@ -21,8 +21,8 @@ diff-delete-foreground: <<colour foreground>>
|
|||||||
diff-equal-background:
|
diff-equal-background:
|
||||||
diff-equal-foreground: <<colour foreground>>
|
diff-equal-foreground: <<colour foreground>>
|
||||||
diff-insert-background: #A3BE8C
|
diff-insert-background: #A3BE8C
|
||||||
diff-insert-foreground: <<colour foreground>>
|
diff-insert-foreground: <<colour background>>
|
||||||
diff-invisible-background:
|
diff-invisible-background: #f9f3b5
|
||||||
diff-invisible-foreground: <<colour muted-foreground>>
|
diff-invisible-foreground: <<colour muted-foreground>>
|
||||||
dirty-indicator: #BF616A
|
dirty-indicator: #BF616A
|
||||||
download-background: #A3BE8C
|
download-background: #A3BE8C
|
||||||
|
@ -125,6 +125,14 @@ foreground: #657b83
|
|||||||
tiddler-link-foreground: <<colour primary>>
|
tiddler-link-foreground: <<colour primary>>
|
||||||
|
|
||||||
alert-border: #b99e2f
|
alert-border: #b99e2f
|
||||||
|
diff-delete-background: <<colour red>>
|
||||||
|
diff-delete-foreground: <<colour background>>
|
||||||
|
diff-equal-background: inherit
|
||||||
|
diff-equal-foreground: inherit
|
||||||
|
diff-insert-background: <<colour green>>
|
||||||
|
diff-insert-foreground: <<colour background>>
|
||||||
|
diff-invisible-background: <<colour yellow>>
|
||||||
|
diff-invisible-foreground: <<colour background>>
|
||||||
dirty-indicator: #ff0000
|
dirty-indicator: #ff0000
|
||||||
dropzone-background: rgba(0,200,0,0.7)
|
dropzone-background: rgba(0,200,0,0.7)
|
||||||
external-link-background-hover: inherit
|
external-link-background-hover: inherit
|
||||||
|
@ -18,6 +18,14 @@ button-foreground: #93a1a1
|
|||||||
code-background: #073642
|
code-background: #073642
|
||||||
code-border: #586e75
|
code-border: #586e75
|
||||||
code-foreground: #93a1a1
|
code-foreground: #93a1a1
|
||||||
|
diff-delete-background: #dc322f
|
||||||
|
diff-delete-foreground: #eee8d5
|
||||||
|
diff-equal-background: inherit
|
||||||
|
diff-equal-foreground: inherit
|
||||||
|
diff-insert-background: #859900
|
||||||
|
diff-insert-foreground: #073642
|
||||||
|
diff-invisible-background: #b58900
|
||||||
|
diff-invisible-foreground: #eee8d5
|
||||||
dirty-indicator: #dc322f
|
dirty-indicator: #dc322f
|
||||||
download-background: #859900
|
download-background: #859900
|
||||||
download-foreground: #073642
|
download-foreground: #073642
|
||||||
|
@ -18,6 +18,14 @@ button-foreground: #586e75
|
|||||||
code-background: #eee8d5
|
code-background: #eee8d5
|
||||||
code-border: #93a1a1
|
code-border: #93a1a1
|
||||||
code-foreground: #586e75
|
code-foreground: #586e75
|
||||||
|
diff-delete-background: #dc322f
|
||||||
|
diff-delete-foreground: #eee8d5
|
||||||
|
diff-equal-background: inherit
|
||||||
|
diff-equal-foreground: inherit
|
||||||
|
diff-insert-background: #859900
|
||||||
|
diff-insert-foreground: #eee8d5
|
||||||
|
diff-invisible-background: #b58900
|
||||||
|
diff-invisible-foreground: #eee8d5
|
||||||
dirty-indicator: #dc322f
|
dirty-indicator: #dc322f
|
||||||
download-background: #859900
|
download-background: #859900
|
||||||
download-foreground: #eee8d5
|
download-foreground: #eee8d5
|
||||||
|
@ -19,13 +19,13 @@ code-background: rgba(0,0,0,0.03)
|
|||||||
code-border: rgba(0,0,0,0.08)
|
code-border: rgba(0,0,0,0.08)
|
||||||
code-foreground: rgb(255, 94, 94)
|
code-foreground: rgb(255, 94, 94)
|
||||||
diff-delete-background: #ffc9c9
|
diff-delete-background: #ffc9c9
|
||||||
diff-delete-foreground: <<colour foreground>>
|
diff-delete-foreground: <<colour background>>
|
||||||
diff-equal-background:
|
diff-equal-background:
|
||||||
diff-equal-foreground: <<colour foreground>>
|
diff-equal-foreground: <<colour foreground>>
|
||||||
diff-insert-background: #aaefad
|
diff-insert-background: #aaefad
|
||||||
diff-insert-foreground: <<colour foreground>>
|
diff-insert-foreground: <<colour background>>
|
||||||
diff-invisible-background:
|
diff-invisible-background: #fdfcbd
|
||||||
diff-invisible-foreground: <<colour muted-foreground>>
|
diff-invisible-foreground: <<colour background>>
|
||||||
dirty-indicator: rgb(255, 94, 94)
|
dirty-indicator: rgb(255, 94, 94)
|
||||||
download-background: #19a974
|
download-background: #19a974
|
||||||
download-foreground: rgb(38, 38, 38)
|
download-foreground: rgb(38, 38, 38)
|
||||||
|
@ -2,5 +2,6 @@ title: $:/core/templates/exporters/CsvFile
|
|||||||
tags: $:/tags/Exporter
|
tags: $:/tags/Exporter
|
||||||
description: {{$:/language/Exporters/CsvFile}}
|
description: {{$:/language/Exporters/CsvFile}}
|
||||||
extension: .csv
|
extension: .csv
|
||||||
|
file-type: text/csv
|
||||||
|
|
||||||
<$macrocall $name="csvtiddlers" filter=<<exportFilter>> format="quoted-comma-sep" $output="text/raw"/>
|
<$macrocall $name="csvtiddlers" filter=<<exportFilter>> format="quoted-comma-sep" $output="text/raw"/>
|
||||||
|
@ -2,5 +2,6 @@ title: $:/core/templates/exporters/JsonFile
|
|||||||
tags: $:/tags/Exporter
|
tags: $:/tags/Exporter
|
||||||
description: {{$:/language/Exporters/JsonFile}}
|
description: {{$:/language/Exporters/JsonFile}}
|
||||||
extension: .json
|
extension: .json
|
||||||
|
file-type: application/json
|
||||||
|
|
||||||
<$macrocall $name="jsontiddlers" filter=<<exportFilter>> $output="text/raw"/>
|
<$macrocall $name="jsontiddlers" filter=<<exportFilter>> $output="text/raw"/>
|
||||||
|
@ -2,6 +2,7 @@ title: $:/core/templates/exporters/TidFile
|
|||||||
tags: $:/tags/Exporter
|
tags: $:/tags/Exporter
|
||||||
description: {{$:/language/Exporters/TidFile}}
|
description: {{$:/language/Exporters/TidFile}}
|
||||||
extension: .tid
|
extension: .tid
|
||||||
|
file-type: text/vnd.tiddlywiki
|
||||||
condition: [<count>compare:lte[1]]
|
condition: [<count>compare:lte[1]]
|
||||||
|
|
||||||
\define renderContent()
|
\define renderContent()
|
||||||
|
@ -2,18 +2,28 @@ title: $:/core/ui/AdvancedSearch/Filter
|
|||||||
tags: $:/tags/AdvancedSearch
|
tags: $:/tags/AdvancedSearch
|
||||||
caption: {{$:/language/Search/Filter/Caption}}
|
caption: {{$:/language/Search/Filter/Caption}}
|
||||||
|
|
||||||
\define lingo-base() $:/language/Search/
|
\procedure lingo-base() $:/language/Search/
|
||||||
\define set-next-input-tab(beforeafter:"after")
|
\procedure set-next-input-tab()
|
||||||
<$macrocall $name="change-input-tab"
|
<$transclude $variable="change-input-tab"
|
||||||
stateTitle="$:/state/tab--1498284803"
|
stateTitle="$:/state/tab--1498284803"
|
||||||
tag="$:/tags/AdvancedSearch"
|
tag="$:/tags/AdvancedSearch"
|
||||||
beforeafter="$beforeafter$"
|
beforeafter="after"
|
||||||
defaultState="$:/core/ui/AdvancedSearch/System"
|
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
|
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
|
||||||
/>
|
/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define cancel-search-actions()
|
\procedure set-previous-input-tab()
|
||||||
|
<$transclude $variable="change-input-tab"
|
||||||
|
stateTitle="$:/state/tab--1498284803"
|
||||||
|
tag="$:/tags/AdvancedSearch"
|
||||||
|
beforeafter="before"
|
||||||
|
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||||
|
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
|
||||||
|
/>
|
||||||
|
\end
|
||||||
|
|
||||||
|
\procedure cancel-search-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]">
|
<$list filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]">
|
||||||
<$list-empty>
|
<$list-empty>
|
||||||
@ -24,30 +34,30 @@ caption: {{$:/language/Search/Filter/Caption}}
|
|||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-accept-actions()
|
\procedure input-accept-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
|
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
|
||||||
<$list-empty>
|
<$list-empty>
|
||||||
<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]">
|
<$list filter="[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]">
|
||||||
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
|
||||||
</$list>
|
</$list>
|
||||||
<$/list-empty>
|
<$/list-empty>
|
||||||
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
|
||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-accept-variant-actions()
|
\procedure input-accept-variant-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
|
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
|
||||||
<$list-empty>
|
<$list-empty>
|
||||||
<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]">
|
<$list filter="[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]">
|
||||||
<$list filter="[<__tiddler__>get[text]minlength[1]]">
|
<$list filter="[<__tiddler__>get[text]minlength[1]]">
|
||||||
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
|
||||||
</$list>
|
</$list>
|
||||||
</$list>
|
</$list>
|
||||||
</$list-empty>
|
</$list-empty>
|
||||||
<$list filter="[<__tiddler__>get[text]minlength[1]]">
|
<$list filter="[<tiddler>get[text]minlength[1]]">
|
||||||
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
|
||||||
</$list>
|
</$list>
|
||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
@ -58,8 +68,8 @@ caption: {{$:/language/Search/Filter/Caption}}
|
|||||||
|
|
||||||
<div class="tc-search tc-advanced-search">
|
<div class="tc-search tc-advanced-search">
|
||||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>> class="tc-small-gap-right">
|
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>> class="tc-small-gap-right">
|
||||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
|
||||||
<$macrocall $name="keyboard-driven-input"
|
<$transclude $variable="keyboard-driven-input"
|
||||||
tiddler="$:/temp/advancedsearch/input"
|
tiddler="$:/temp/advancedsearch/input"
|
||||||
storeTitle="$:/temp/advancedsearch"
|
storeTitle="$:/temp/advancedsearch"
|
||||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||||
@ -84,7 +94,7 @@ caption: {{$:/language/Search/Filter/Caption}}
|
|||||||
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
|
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
|
||||||
<p><<lingo Filter/Matches>></p>
|
<p><<lingo Filter/Matches>></p>
|
||||||
<$list filter={{$:/temp/advancedsearch}}>
|
<$list filter={{$:/temp/advancedsearch}}>
|
||||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
|
||||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
</$list>
|
||||||
|
@ -3,18 +3,27 @@ tags: $:/tags/AdvancedSearch
|
|||||||
caption: {{$:/language/Search/Shadows/Caption}}
|
caption: {{$:/language/Search/Shadows/Caption}}
|
||||||
first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]
|
first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]
|
||||||
|
|
||||||
\define lingo-base() $:/language/Search/
|
\procedure lingo-base() $:/language/Search/
|
||||||
|
|
||||||
\define set-next-input-tab(beforeafter:"after")
|
\procedure set-next-input-tab()
|
||||||
<$macrocall $name="change-input-tab"
|
<$transclude $variable="change-input-tab"
|
||||||
stateTitle="$:/state/tab--1498284803"
|
stateTitle="$:/state/tab--1498284803"
|
||||||
tag="$:/tags/AdvancedSearch"
|
tag="$:/tags/AdvancedSearch"
|
||||||
beforeafter="$beforeafter$"
|
beforeafter="after"
|
||||||
defaultState="$:/core/ui/AdvancedSearch/System"
|
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define cancel-search-actions()
|
\procedure set-previous-input-tab()
|
||||||
|
<$transclude $variable="change-input-tab"
|
||||||
|
stateTitle="$:/state/tab--1498284803"
|
||||||
|
tag="$:/tags/AdvancedSearch"
|
||||||
|
beforeafter="before"
|
||||||
|
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||||
|
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||||
|
\end
|
||||||
|
|
||||||
|
\procedure cancel-search-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list
|
||||||
filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]"
|
filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]"
|
||||||
@ -25,22 +34,22 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
|
|||||||
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-accept-actions()
|
\procedure input-accept-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list
|
||||||
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
||||||
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>">
|
emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>">
|
||||||
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
|
||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-accept-variant-actions()
|
\procedure input-accept-variant-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list
|
||||||
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
||||||
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>">
|
emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<tiddler>get[text]] }}}/></$list></$list>">
|
||||||
<$list filter="[<__tiddler__>get[text]minlength[1]]">
|
<$list filter="[<tiddler>get[text]minlength[1]]">
|
||||||
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
|
||||||
</$list></$list>
|
</$list></$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
@ -50,8 +59,8 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
|
|||||||
|
|
||||||
<div class="tc-search">
|
<div class="tc-search">
|
||||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
|
||||||
<$macrocall $name="keyboard-driven-input"
|
<$transclude $variable="keyboard-driven-input"
|
||||||
tiddler="$:/temp/advancedsearch/input"
|
tiddler="$:/temp/advancedsearch/input"
|
||||||
storeTitle="$:/temp/advancedsearch"
|
storeTitle="$:/temp/advancedsearch"
|
||||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||||
@ -79,7 +88,7 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
|
|||||||
|
|
||||||
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
|
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
|
||||||
|
|
||||||
<$set name="resultCount" value={{{ [all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] +[count[]]}}}>
|
<$set name="resultCount" value={{{ [all[shadows]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :and[count[]]}}}>
|
||||||
|
|
||||||
<div class="tc-search-results">
|
<div class="tc-search-results">
|
||||||
|
|
||||||
@ -89,8 +98,8 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
|
|||||||
<<lingo Shadows/Matches>>
|
<<lingo Shadows/Matches>>
|
||||||
<%endif%>
|
<%endif%>
|
||||||
|
|
||||||
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]">
|
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]]">
|
||||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
<span class={{{[<currentTiddler>addsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
|
||||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
</$list>
|
||||||
|
@ -2,16 +2,20 @@ title: $:/core/ui/AdvancedSearch/Standard
|
|||||||
tags: $:/tags/AdvancedSearch
|
tags: $:/tags/AdvancedSearch
|
||||||
caption: {{$:/language/Search/Standard/Caption}}
|
caption: {{$:/language/Search/Standard/Caption}}
|
||||||
|
|
||||||
\define lingo-base() $:/language/Search/
|
\procedure lingo-base() $:/language/Search/
|
||||||
\define set-next-input-tab(beforeafter:"after") <$macrocall $name="change-input-tab" stateTitle="$:/state/tab--1498284803" tag="$:/tags/AdvancedSearch" beforeafter="$beforeafter$" defaultState="$:/core/ui/AdvancedSearch/System" actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
\procedure set-next-input-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab--1498284803" tag="$:/tags/AdvancedSearch" beforeafter="after" defaultState="$:/core/ui/AdvancedSearch/System" actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||||
|
|
||||||
\define next-search-tab(beforeafter:"after") <$macrocall $name="change-input-tab" stateTitle="$:/state/tab/search-results/advancedsearch" tag="$:/tags/SearchResults" beforeafter="$beforeafter$" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>"/>
|
\procedure set-previous-input-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab--1498284803" tag="$:/tags/AdvancedSearch" beforeafter="before" defaultState="$:/core/ui/AdvancedSearch/System" actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||||
|
|
||||||
\define cancel-search-actions() <$list filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]" emptyMessage="<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />"><$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/></$list><$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
\procedure next-search-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab/search-results/advancedsearch" tag="$:/tags/SearchResults" beforeafter="after" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>"/>
|
||||||
|
|
||||||
\define input-accept-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>
|
\procedure previous-search-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab/search-results/advancedsearch" tag="$:/tags/SearchResults" beforeafter="before" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>"/>
|
||||||
|
|
||||||
\define input-accept-variant-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>"><$list filter="[<__tiddler__>get[text]minlength[1]]"><$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>
|
\procedure cancel-search-actions() <$list filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]" emptyMessage="<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />"><$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/></$list><$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
||||||
|
|
||||||
|
\procedure input-accept-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>"><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>
|
||||||
|
|
||||||
|
\procedure input-accept-variant-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<tiddler>get[text]] }}}/></$list></$list>"><$list filter="[<tiddler>get[text]minlength[1]]"><$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/></$list></$list>
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
@ -19,10 +23,10 @@ caption: {{$:/language/Search/Standard/Caption}}
|
|||||||
|
|
||||||
<div class="tc-search">
|
<div class="tc-search">
|
||||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
|
||||||
<$keyboard key="shift-alt-Right" actions=<<next-search-tab>>>
|
<$keyboard key="shift-alt-Right" actions=<<next-search-tab>>>
|
||||||
<$keyboard key="shift-alt-Left" actions=<<next-search-tab "before">>>
|
<$keyboard key="shift-alt-Left" actions=<<previous-search-tab>>>
|
||||||
<$macrocall $name="keyboard-driven-input"
|
<$transclude $variable="keyboard-driven-input"
|
||||||
tiddler="$:/temp/advancedsearch/input"
|
tiddler="$:/temp/advancedsearch/input"
|
||||||
storeTitle="$:/temp/advancedsearch"
|
storeTitle="$:/temp/advancedsearch"
|
||||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||||
@ -33,7 +37,7 @@ caption: {{$:/language/Search/Standard/Caption}}
|
|||||||
inputCancelActions=<<cancel-search-actions>>
|
inputCancelActions=<<cancel-search-actions>>
|
||||||
inputAcceptActions=<<input-accept-actions>>
|
inputAcceptActions=<<input-accept-actions>>
|
||||||
inputAcceptVariantActions=<<input-accept-variant-actions>>
|
inputAcceptVariantActions=<<input-accept-variant-actions>>
|
||||||
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]"
|
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]"
|
||||||
filterMinLength={{$:/config/Search/MinLength}}/>
|
filterMinLength={{$:/config/Search/MinLength}}/>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
@ -55,13 +59,13 @@ caption: {{$:/language/Search/Standard/Caption}}
|
|||||||
variable="listItem">
|
variable="listItem">
|
||||||
<$vars
|
<$vars
|
||||||
userInput={{{ [[$:/temp/advancedsearch]get[text]] }}}
|
userInput={{{ [[$:/temp/advancedsearch]get[text]] }}}
|
||||||
configTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}
|
configTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}
|
||||||
searchListState="$:/temp/advancedsearch/selected-item">
|
searchListState="$:/temp/advancedsearch/selected-item">
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]">
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]">
|
||||||
<$list-empty>
|
<$list-empty>
|
||||||
<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode="block"/></$list>
|
<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode="block"/></$list>
|
||||||
</$list-empty>
|
</$list-empty>
|
||||||
<$macrocall $name="tabs"
|
<$transclude $variable="tabs"
|
||||||
tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"
|
tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"
|
||||||
default={{$:/config/SearchResults/Default}}
|
default={{$:/config/SearchResults/Default}}
|
||||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<currentTab>>/>"
|
actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<currentTab>>/>"
|
||||||
|
@ -1,19 +1,28 @@
|
|||||||
title: $:/core/ui/AdvancedSearch/System
|
title: $:/core/ui/AdvancedSearch/System
|
||||||
tags: $:/tags/AdvancedSearch
|
tags: $:/tags/AdvancedSearch
|
||||||
caption: {{$:/language/Search/System/Caption}}
|
caption: {{$:/language/Search/System/Caption}}
|
||||||
first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]
|
first-search-filter: [is[system]search<userInput>sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]
|
||||||
|
|
||||||
\define lingo-base() $:/language/Search/
|
\procedure lingo-base() $:/language/Search/
|
||||||
\define set-next-input-tab(beforeafter:"after",stateTitle,tag,defaultState,currentTabTiddler)
|
\procedure set-next-input-tab()
|
||||||
<$macrocall $name="change-input-tab"
|
<$transclude $variable="change-input-tab"
|
||||||
stateTitle="$:/state/tab--1498284803"
|
stateTitle="$:/state/tab--1498284803"
|
||||||
tag="$:/tags/AdvancedSearch"
|
tag="$:/tags/AdvancedSearch"
|
||||||
beforeafter="$beforeafter$"
|
beforeafter="after"
|
||||||
defaultState="$:/core/ui/AdvancedSearch/System"
|
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define cancel-search-actions()
|
\procedure set-previous-input-tab()
|
||||||
|
<$transclude $variable="change-input-tab"
|
||||||
|
stateTitle="$:/state/tab--1498284803"
|
||||||
|
tag="$:/tags/AdvancedSearch"
|
||||||
|
beforeafter="before"
|
||||||
|
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||||
|
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||||
|
\end
|
||||||
|
|
||||||
|
\procedure cancel-search-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list
|
||||||
filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]"
|
filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]"
|
||||||
@ -24,22 +33,22 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
|
|||||||
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-accept-actions()
|
\procedure input-accept-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list
|
||||||
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
||||||
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>">
|
emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>">
|
||||||
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
|
||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-accept-variant-actions()
|
\procedure input-accept-variant-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list
|
||||||
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
||||||
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>">
|
emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<tiddler>get[text]] }}}/></$list></$list>">
|
||||||
<$list filter="[<__tiddler__>get[text]minlength[1]]">
|
<$list filter="[<tiddler>get[text]minlength[1]]">
|
||||||
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
|
||||||
</$list></$list>
|
</$list></$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
@ -49,8 +58,8 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
|
|||||||
|
|
||||||
<div class="tc-search">
|
<div class="tc-search">
|
||||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
|
||||||
<$macrocall $name="keyboard-driven-input"
|
<$transclude $variable="keyboard-driven-input"
|
||||||
tiddler="$:/temp/advancedsearch/input"
|
tiddler="$:/temp/advancedsearch/input"
|
||||||
storeTitle="$:/temp/advancedsearch"
|
storeTitle="$:/temp/advancedsearch"
|
||||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||||
@ -78,7 +87,7 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
|
|||||||
|
|
||||||
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
|
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
|
||||||
|
|
||||||
<$set name="resultCount" value={{{ [is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>
|
<$set name="resultCount" value={{{ [is[system]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>
|
||||||
|
|
||||||
<div class="tc-search-results">
|
<div class="tc-search-results">
|
||||||
|
|
||||||
@ -88,8 +97,8 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
|
|||||||
<<lingo System/Matches>>
|
<<lingo System/Matches>>
|
||||||
<%endif%>
|
<%endif%>
|
||||||
|
|
||||||
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]">
|
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]">
|
||||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
<span class={{{[<currentTiddler>addsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
|
||||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
</$list>
|
||||||
|
10
core/ui/ControlPanel/Settings/RecentLimit.tid
Normal file
10
core/ui/ControlPanel/Settings/RecentLimit.tid
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
title: $:/core/ui/ControlPanel/Settings/RecentLimit
|
||||||
|
tags: $:/tags/ControlPanel/Settings
|
||||||
|
caption: {{$:/language/ControlPanel/Settings/RecentLimit/Caption}}
|
||||||
|
|
||||||
|
\whitespace trim
|
||||||
|
\procedure lingo-base() $:/language/ControlPanel/Settings/RecentLimit/
|
||||||
|
<<lingo Hint>>
|
||||||
|
|
||||||
|
|tc-table-no-border|k
|
||||||
|
|<$link to="$:/config/RecentLimit"><<lingo Caption>></$link> |<$edit-text tiddler="$:/config/RecentLimit" tag="input" type="number"/> |
|
@ -1,35 +1,32 @@
|
|||||||
title: $:/core/ui/EditTemplate/fields
|
title: $:/core/ui/EditTemplate/fields
|
||||||
tags: $:/tags/EditTemplate
|
tags: $:/tags/EditTemplate
|
||||||
|
|
||||||
\define lingo-base() $:/language/EditTemplate/
|
\procedure lingo-base() $:/language/EditTemplate/
|
||||||
\define config-title()
|
\function tf.config-title() [[$:/config/EditTemplateFields/Visibility/]addsuffix[$(currentField)$]substitute[]get[text]]
|
||||||
$:/config/EditTemplateFields/Visibility/$(currentField)$
|
|
||||||
\end
|
|
||||||
|
|
||||||
\define config-filter()
|
\function tf.config-filter() [[hide]] :except[title<tf.config-title>]
|
||||||
[[hide]] -[title{$(config-title)$}]
|
|
||||||
\end
|
|
||||||
|
|
||||||
<!-- Beware this is duplicated from EditTemplate.tid. For details see bug #7054 -->
|
<!-- Beware this is duplicated from EditTemplate.tid. For details see bug #7054 -->
|
||||||
\define get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]
|
\procedure get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]
|
||||||
\define get-field-editor-filter() [<newFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]
|
\procedure get-field-editor-filter() [<newFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]
|
||||||
|
|
||||||
\define current-tiddler-new-field-selector()
|
\procedure prefix.bracket() [
|
||||||
[data-tiddler-title="$(currentTiddlerCSSescaped)$"] .tc-edit-field-add-name-wrapper input
|
\procedure suffix.bracket() ]
|
||||||
\end
|
|
||||||
|
|
||||||
\define new-field-actions()
|
\function tf.current-tiddler-new-field-selector() [[data-tiddler-title=]addprefix[$(prefix.bracket)$]substitute[]addsuffix<currentTiddlerCSSescaped>addsuffix[$(suffix.bracket)$]substitute[]] .tc-edit-field-add-name-wrapper input :and[join[ ]]
|
||||||
|
|
||||||
|
\procedure new-field-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
<$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
||||||
<$set name="safeNewFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
|
<$set name="safeNewFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
|
||||||
<$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
|
<$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
|
||||||
</$set>
|
</$set>
|
||||||
<$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/>
|
<$action-sendmessage $message="tm-focus-selector" $param=<<tf.current-tiddler-new-field-selector>>/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define delete-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]"/>
|
\procedure delete-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]"/>
|
||||||
|
|
||||||
\define cancel-search-actions-inner()
|
\procedure cancel-search-actions-inner()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list
|
||||||
filter="[<storeTitle>has[text]] [<newFieldNameTiddler>has[text]]"
|
filter="[<storeTitle>has[text]] [<newFieldNameTiddler>has[text]]"
|
||||||
@ -39,7 +36,7 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
|
|||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define cancel-search-actions()
|
\procedure cancel-search-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}>
|
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}>
|
||||||
<$list
|
<$list
|
||||||
@ -50,7 +47,7 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
|
|||||||
</$set>
|
</$set>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define new-field()
|
\procedure new-field()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>
|
<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>
|
||||||
<$reveal type="nomatch" text="" default=<<name>>>
|
<$reveal type="nomatch" text="" default=<<name>>>
|
||||||
@ -75,15 +72,15 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
|||||||
|
|
||||||
<$set name="newFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
|
<$set name="newFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
|
||||||
<div class="tc-edit-fields">
|
<div class="tc-edit-fields">
|
||||||
<table class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] +[count[]!match[0]] +[then[tc-edit-fields]] ~[[tc-edit-fields tc-edit-fields-small]] }}}>
|
<table class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] :and[count[]!match[0]] :and[then[tc-edit-fields]] :else[[tc-edit-fields tc-edit-fields-small]] }}}>
|
||||||
<tbody>
|
<tbody>
|
||||||
<$list filter="[all[current]fields[]] +[sort[title]]" variable="currentField" storyview="pop">
|
<$list filter="[all[current]fields[]] :and[sort[title]]" variable="currentField" storyview="pop">
|
||||||
<$list filter=<<config-filter>> variable="temp">
|
<$list filter=<<tf.config-filter>> variable="temp">
|
||||||
<tr class="tc-edit-field">
|
<tr class="tc-edit-field">
|
||||||
<td class="tc-edit-field-name">
|
<td class="tc-edit-field-name">
|
||||||
<$text text=<<currentField>>/>:</td>
|
<$text text=<<currentField>>/>:</td>
|
||||||
<td class="tc-edit-field-value">
|
<td class="tc-edit-field-value">
|
||||||
<$keyboard key="((delete-field))" actions="""<$action-deletefield $field=<<currentField>>/><$set name="currentTiddlerCSSescaped" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/></$set>""">
|
<$keyboard key="((delete-field))" actions="""<$action-deletefield $field=<<currentField>>/><$set name="currentTiddlerCSSescaped" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message="tm-focus-selector" $param=<<tf.current-tiddler-new-field-selector>>/></$set>""">
|
||||||
<$transclude tiddler={{{ [<currentField>] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}] }}} />
|
<$transclude tiddler={{{ [<currentField>] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}] }}} />
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
</td>
|
</td>
|
||||||
@ -107,10 +104,10 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
|||||||
</em>
|
</em>
|
||||||
<$vars refreshTitle=<<qualify "$:/temp/fieldname/refresh">> storeTitle=<<newFieldNameInputTiddler>> searchListState=<<newFieldNameSelectionTiddler>>>
|
<$vars refreshTitle=<<qualify "$:/temp/fieldname/refresh">> storeTitle=<<newFieldNameInputTiddler>> searchListState=<<newFieldNameSelectionTiddler>>>
|
||||||
<div class="tc-edit-field-add-name-wrapper">
|
<div class="tc-edit-field-add-name-wrapper">
|
||||||
<$macrocall $name="keyboard-driven-input" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>
|
<$transclude $variable="keyboard-driven-input" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>
|
||||||
selectionStateTitle=<<searchListState>> tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}
|
selectionStateTitle=<<searchListState>> tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}
|
||||||
focusPopup=<<qualify "$:/state/popup/field-dropdown">> class="tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}}
|
focusPopup=<<qualify "$:/state/popup/field-dropdown">> class="tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}}
|
||||||
focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}} cancelPopups="yes"
|
focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] :else[[false]] }}} cancelPopups="yes"
|
||||||
configTiddlerFilter="[[$:/config/EditMode/fieldname-filter]]" inputCancelActions=<<cancel-search-actions>> />
|
configTiddlerFilter="[[$:/config/EditMode/fieldname-filter]]" inputCancelActions=<<cancel-search-actions>> />
|
||||||
<$button popup=<<qualify "$:/state/popup/field-dropdown">> class="tc-btn-invisible tc-btn-dropdown tc-small-gap" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>
|
<$button popup=<<qualify "$:/state/popup/field-dropdown">> class="tc-btn-invisible tc-btn-dropdown tc-small-gap" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>
|
||||||
<$reveal state=<<qualify "$:/state/popup/field-dropdown">> type="nomatch" text="" default="">
|
<$reveal state=<<qualify "$:/state/popup/field-dropdown">> type="nomatch" text="" default="">
|
||||||
@ -121,8 +118,8 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
|||||||
<<lingo Fields/Add/Dropdown/User>>
|
<<lingo Fields/Add/Dropdown/User>>
|
||||||
</div>
|
</div>
|
||||||
<$set name="newFieldName" value={{{ [<storeTitle>get[text]] }}}>
|
<$set name="newFieldName" value={{{ [<storeTitle>get[text]] }}}>
|
||||||
<$list filter="[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type" variable="currentField">
|
<$list filter="[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] :except[[created]] :except[[creator]] :except[[draft.of]] :except[[draft.title]] :except[[modified]] :except[[modifier]] :except[[tags]] :except[[text]] :except[[title]] :except[[type]]" variable="currentField">
|
||||||
<$list filter="[<currentField>addsuffix[-primaryList]] -[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
|
<$list filter="[<currentField>addsuffix[-primaryList]] :except[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
|
||||||
<$link to=<<currentField>>>
|
<$link to=<<currentField>>>
|
||||||
<$text text=<<currentField>>/>
|
<$text text=<<currentField>>/>
|
||||||
</$link>
|
</$link>
|
||||||
@ -131,8 +128,8 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
|||||||
<div class="tc-dropdown-item">
|
<div class="tc-dropdown-item">
|
||||||
<<lingo Fields/Add/Dropdown/System>>
|
<<lingo Fields/Add/Dropdown/System>>
|
||||||
</div>
|
</div>
|
||||||
<$list filter="[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]" variable="currentField">
|
<$list filter="[fields[]search:title<newFieldName>sort[]] :except[!is[shadow]!is[system]fields[]]" variable="currentField">
|
||||||
<$list filter="[<currentField>addsuffix[-secondaryList]] -[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
|
<$list filter="[<currentField>addsuffix[-secondaryList]] :except[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
|
||||||
<$link to=<<currentField>>>
|
<$link to=<<currentField>>>
|
||||||
<$text text=<<currentField>>/>
|
<$text text=<<currentField>>/>
|
||||||
</$link>
|
</$link>
|
||||||
@ -151,7 +148,7 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
|||||||
</$keyboard>
|
</$keyboard>
|
||||||
</span>
|
</span>
|
||||||
<span class="tc-edit-field-add-button">
|
<span class="tc-edit-field-add-button">
|
||||||
<$macrocall $name="new-field"/>
|
<$transclude $variable="new-field"/>
|
||||||
</span>
|
</span>
|
||||||
</$let>
|
</$let>
|
||||||
</$vars>
|
</$vars>
|
||||||
|
@ -2,15 +2,15 @@ title: $:/core/ui/EditTemplate/type
|
|||||||
tags: $:/tags/EditTemplate
|
tags: $:/tags/EditTemplate
|
||||||
first-search-filter: [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search<userInput>]
|
first-search-filter: [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search<userInput>]
|
||||||
|
|
||||||
\define lingo-base() $:/language/EditTemplate/
|
\procedure lingo-base() $:/language/EditTemplate/
|
||||||
\define input-cancel-actions() <$list filter="[<storeTitle>get[text]] [<currentTiddler>get[type]] +[limit[1]]" emptyMessage="""<<cancel-delete-tiddler-actions "cancel">>"""><$action-sendmessage $message="tm-remove-field" $param="type"/><$action-deletetiddler $filter="[<typeInputTiddler>] [<refreshTitle>] [<typeSelectionTiddler>]"/></$list>
|
\procedure input-cancel-actions() <$list filter="[<storeTitle>get[text]] [<currentTiddler>get[type]] :and[limit[1]]" emptyMessage="""<<cancel-delete-tiddler-actions "cancel">>"""><$action-sendmessage $message="tm-remove-field" $param="type"/><$action-deletetiddler $filter="[<typeInputTiddler>] [<refreshTitle>] [<typeSelectionTiddler>]"/></$list>
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$set name="refreshTitle" value=<<qualify "$:/temp/type-search/refresh">>>
|
<$set name="refreshTitle" value=<<qualify "$:/temp/type-search/refresh">>>
|
||||||
<div class="tc-edit-type-selector-wrapper">
|
<div class="tc-edit-type-selector-wrapper">
|
||||||
<em class="tc-edit tc-small-gap-right"><<lingo Type/Prompt>></em>
|
<em class="tc-edit tc-small-gap-right"><<lingo Type/Prompt>></em>
|
||||||
<div class="tc-type-selector-dropdown-wrapper">
|
<div class="tc-type-selector-dropdown-wrapper">
|
||||||
<div class="tc-type-selector"><$fieldmangler>
|
<div class="tc-type-selector"><$fieldmangler>
|
||||||
<$macrocall $name="keyboard-driven-input" tiddler=<<currentTiddler>> storeTitle=<<typeInputTiddler>> refreshTitle=<<refreshTitle>> selectionStateTitle=<<typeSelectionTiddler>> field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}} cancelPopups="yes" configTiddlerFilter="[[$:/core/ui/EditTemplate/type]]" inputCancelActions=<<input-cancel-actions>>/><$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown tc-small-gap" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}<$action-deletetiddler $filter="[<typeInputTiddler>] [<storeTitle>] [<refreshTitle>] [<selectionStateTitle>]"/></$button>
|
<$transclude $variable="keyboard-driven-input" tiddler=<<currentTiddler>> storeTitle=<<typeInputTiddler>> refreshTitle=<<refreshTitle>> selectionStateTitle=<<typeSelectionTiddler>> field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] :else[[false]] }}} cancelPopups="yes" configTiddlerFilter="[[$:/core/ui/EditTemplate/type]]" inputCancelActions=<<input-cancel-actions>>/><$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown tc-small-gap" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}<$action-deletetiddler $filter="[<typeInputTiddler>] [<storeTitle>] [<refreshTitle>] [<selectionStateTitle>]"/></$button>
|
||||||
</$fieldmangler></div>
|
</$fieldmangler></div>
|
||||||
|
|
||||||
<div class="tc-block-dropdown-wrapper">
|
<div class="tc-block-dropdown-wrapper">
|
||||||
@ -23,7 +23,7 @@ first-search-filter: [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[d
|
|||||||
<$text text={{!!group}}/>
|
<$text text={{!!group}}/>
|
||||||
</div>
|
</div>
|
||||||
<$set name="userInput" value={{{ [<typeInputTiddler>get[text]] }}}>
|
<$set name="userInput" value={{{ [<typeInputTiddler>get[text]] }}}>
|
||||||
<$list filter="[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]] +[removeprefix[$:/language/Docs/Types/]] +[search<userInput>]"><span class={{{ [<currentTiddler>addsuffix[-primaryList]] -[<typeSelectionTiddler>get[text]] +[then[]else[tc-list-item-selected]] }}}><$link to={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field="description"/><$text text=" "/>(<$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field="name"/>)</$link></span>
|
<$list filter="[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] :and[sort[description]] :and[removeprefix[$:/language/Docs/Types/]] :and[search<userInput>]"><span class={{{ [<currentTiddler>addsuffix[-primaryList]] :except[<typeSelectionTiddler>get[text]] :and[then[]else[tc-list-item-selected]] }}}><$link to={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field="description"/><$text text=" "/>(<$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field="name"/>)</$link></span>
|
||||||
</$list>
|
</$list>
|
||||||
</$set>
|
</$set>
|
||||||
</$list>
|
</$list>
|
||||||
|
@ -1,44 +1,44 @@
|
|||||||
title: $:/core/ui/EditorToolbar/link-dropdown
|
title: $:/core/ui/EditorToolbar/link-dropdown
|
||||||
|
|
||||||
\define lingo-base() $:/language/Buttons/Link/
|
\procedure lingo-base() $:/language/Buttons/Link/
|
||||||
|
|
||||||
\define add-link-actions()
|
\procedure add-link-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$action-sendmessage $message="tm-edit-text-operation" $param="make-link" text={{$(linkTiddler)$}} />
|
<$action-sendmessage $message="tm-edit-text-operation" $param="make-link" text={{{ [<linkTiddler>get[text]] }}} />
|
||||||
<$action-deletetiddler $filter="[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]"/>
|
<$action-deletetiddler $filter="[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]"/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define get-focus-selector() [data-tiddler-title="$(cssEscapedTitle)$"] .tc-create-wikitext-link input
|
\procedure cancel-search-actions-inner()
|
||||||
|
<$let userInput={{{ [<storeTitle>get[text]] }}}><$list filter="[<searchTiddler>get[text]!match<userInput>]" emptyMessage="<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text="yes"/></$list></$let>
|
||||||
\define cancel-search-actions-inner()
|
|
||||||
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}><$list filter="[<searchTiddler>get[text]!match<userInput>]" emptyMessage="<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text="yes"/></$list></$set>
|
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define cancel-search-actions() <$list filter="[<storeTitle>!has[text]] +[<searchTiddler>!has[text]]" emptyMessage="<<cancel-search-actions-inner>>"><$action-sendmessage $message="tm-edit-text-operation" $param="focus-editor"/></$list>
|
\procedure cancel-search-actions() <$list filter="[<storeTitle>!has[text]] :and[<searchTiddler>!has[text]]" emptyMessage="<<cancel-search-actions-inner>>"><$action-sendmessage $message="tm-edit-text-operation" $param="focus-editor"/></$list>
|
||||||
|
|
||||||
\define external-link()
|
\procedure external-link()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button class="tc-btn-invisible tc-btn-mini" style="width: auto; display: inline-block; background-colour: inherit;" actions=<<add-link-actions>>>
|
<$button class="tc-btn-invisible tc-btn-mini" style="width: auto; display: inline-block; background-colour: inherit;" actions=<<add-link-actions>>>
|
||||||
{{$:/core/images/chevron-right}}
|
{{$:/core/images/chevron-right}}
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define set-next-input-tab(beforeafter:"after") <$macrocall $name="change-input-tab" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" beforeafter="$beforeafter$" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>"/>
|
\procedure set-next-input-tab() <$transclude $variable="change-input-tab-after" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>"/>
|
||||||
|
|
||||||
\define body(config-title)
|
\procedure set-previous-input-tab() <$transclude $variable="change-input-tab-before" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>"/>
|
||||||
|
|
||||||
|
\procedure body(config-title)
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
''<<lingo Hint>>''
|
''<<lingo Hint>>''
|
||||||
|
|
||||||
<$vars searchTiddler="""$config-title$/search""" linkTiddler="""$config-title$/link""" linktext="" searchListState=<<qualify "$:/temp/link-search/selected-item">> refreshTitle=<<qualify "$:/temp/link-search/refresh">> storeTitle=<<qualify "$:/temp/link-search/input">>>
|
<$let searchTiddler=`$(config-title)$/search` linkTiddler=`$(config-title)$/link` linktext="" searchListState=<<qualify "$:/temp/link-search/selected-item">> refreshTitle=<<qualify "$:/temp/link-search/refresh">> storeTitle=<<qualify "$:/temp/link-search/input">>>
|
||||||
|
|
||||||
<$vars linkTiddler=<<searchTiddler>>>
|
<$let linkTiddler=<<searchTiddler>>>
|
||||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">> class="tc-create-wikitext-link">
|
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>> class="tc-create-wikitext-link">
|
||||||
<$macrocall $name="keyboard-driven-input" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>
|
<$transclude $variable="keyboard-driven-input" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>
|
||||||
selectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type="search" filterMinLength="1"
|
selectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type="search" filterMinLength="1"
|
||||||
tag="input" focus="true" class="tc-popup-handle" inputCancelActions=<<cancel-search-actions>>
|
tag="input" focus="true" class="tc-popup-handle" inputCancelActions=<<cancel-search-actions>>
|
||||||
inputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=""
|
inputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=""
|
||||||
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]" />
|
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]" />
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
 
|
 
|
||||||
@ -46,28 +46,28 @@ title: $:/core/ui/EditorToolbar/link-dropdown
|
|||||||
<<external-link>>
|
<<external-link>>
|
||||||
 
|
 
|
||||||
<$button class="tc-btn-invisible tc-btn-mini" style="width: auto; display: inline-block; background-colour: inherit;">
|
<$button class="tc-btn-invisible tc-btn-mini" style="width: auto; display: inline-block; background-colour: inherit;">
|
||||||
<<cancel-search-actions>><$set name="cssEscapedTitle" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message="tm-focus-selector" $param=<<get-focus-selector>>/></$set>
|
<<cancel-search-actions>><$action-sendmessage $message="tm-focus-selector" $param=`[data-tiddler-title=${[<storyTiddler>escapecss[]]}$] .tc-create-wikitext-link input`/>
|
||||||
{{$:/core/images/close-button}}
|
{{$:/core/images/close-button}}
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
</$vars>
|
</$let>
|
||||||
|
|
||||||
<$reveal tag="div" state=<<storeTitle>> type="nomatch" text="">
|
<$reveal tag="div" state=<<storeTitle>> type="nomatch" text="">
|
||||||
|
|
||||||
<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>
|
<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>
|
||||||
|
|
||||||
<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>
|
<$let userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}>
|
||||||
|
|
||||||
{{$:/core/ui/SearchResults}}
|
{{$:/core/ui/SearchResults}}
|
||||||
|
|
||||||
</$vars>
|
</$let>
|
||||||
|
|
||||||
</$linkcatcher>
|
</$linkcatcher>
|
||||||
|
|
||||||
</$reveal>
|
</$reveal>
|
||||||
|
|
||||||
</$vars>
|
</$let>
|
||||||
|
|
||||||
\end
|
\end
|
||||||
|
|
||||||
<$macrocall $name="body" config-title=<<qualify "$:/state/Link/">>/>
|
<$transclude $variable="body" config-title=<<qualify "$:/state/Link/">>/>
|
@ -5,6 +5,7 @@ description: {{$:/language/Buttons/AdvancedSearch/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\procedure advanced-search-button(class)
|
\procedure advanced-search-button(class)
|
||||||
|
\whitespace trim
|
||||||
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
||||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/advanced-search-button}}
|
{{$:/core/images/advanced-search-button}}
|
||||||
|
@ -5,6 +5,7 @@ description: {{$:/language/Buttons/ControlPanel/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\procedure control-panel-button(class)
|
\procedure control-panel-button(class)
|
||||||
|
\whitespace trim
|
||||||
<$button to="$:/ControlPanel" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
<$button to="$:/ControlPanel" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
||||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/options-button}}
|
{{$:/core/images/options-button}}
|
||||||
|
@ -7,11 +7,7 @@ description: {{$:/language/Buttons/Language/Hint}}
|
|||||||
<span class="tc-popup-keep">
|
<span class="tc-popup-keep">
|
||||||
<$button popup=<<qualify "$:/state/popup/language">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
<$button popup=<<qualify "$:/state/popup/language">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
||||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
<span class="tc-image-button">
|
{{$:/core/images/language}}
|
||||||
<$set name="languagePluginTitle" value={{$:/language}}>
|
|
||||||
<$image source=`$(languagePluginTitle)$/icon`/>
|
|
||||||
</$set>
|
|
||||||
</span>
|
|
||||||
<%endif%>
|
<%endif%>
|
||||||
<%if [<tv-config-toolbar-text>match[yes]] %>
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Language/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Language/Caption}}/></span>
|
||||||
|
@ -5,6 +5,7 @@ description: {{$:/language/Buttons/Manager/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\procedure manager-button(class)
|
\procedure manager-button(class)
|
||||||
|
\whitespace trim
|
||||||
<$button to="$:/Manager" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
<$button to="$:/Manager" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
||||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/list}}
|
{{$:/core/images/list}}
|
||||||
|
@ -4,10 +4,17 @@ caption: {{$:/core/images/save-button-dynamic}} {{$:/language/Buttons/SaveWiki/C
|
|||||||
description: {{$:/language/Buttons/SaveWiki/Hint}}
|
description: {{$:/language/Buttons/SaveWiki/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>
|
\procedure saveActions()
|
||||||
<$wikify name="site-title" text={{$:/config/SaveWikiButton/Filename}}>
|
<$wikify name="site-title" text={{$:/config/SaveWikiButton/Filename}}>
|
||||||
<$action-sendmessage $message="tm-save-wiki" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>
|
<$action-sendmessage $message="tm-save-wiki" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>
|
||||||
</$wikify>
|
</$wikify>
|
||||||
|
\end
|
||||||
|
|
||||||
|
<$button actions=<<saveActions>>
|
||||||
|
tooltip={{$:/language/Buttons/SaveWiki/Hint}}
|
||||||
|
aria-label={{$:/language/Buttons/SaveWiki/Caption}}
|
||||||
|
class=<<tv-config-toolbar-class>>
|
||||||
|
>
|
||||||
<span class="tc-dirty-indicator">
|
<span class="tc-dirty-indicator">
|
||||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/save-button-dynamic}}
|
{{$:/core/images/save-button-dynamic}}
|
||||||
|
@ -5,6 +5,7 @@ description: {{$:/language/Buttons/TagManager/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\procedure control-panel-button(class)
|
\procedure control-panel-button(class)
|
||||||
|
\whitespace trim
|
||||||
<$button to="$:/TagManager" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
<$button to="$:/TagManager" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
||||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/tag-button}}
|
{{$:/core/images/tag-button}}
|
||||||
|
@ -2,4 +2,4 @@ title: $:/core/ui/SideBar/Recent
|
|||||||
tags: $:/tags/SideBar
|
tags: $:/tags/SideBar
|
||||||
caption: {{$:/language/SideBar/Recent/Caption}}
|
caption: {{$:/language/SideBar/Recent/Caption}}
|
||||||
|
|
||||||
<$macrocall $name="timeline" format={{$:/language/RecentChanges/DateFormat}}/>
|
<$transclude $variable="timeline" format={{$:/language/RecentChanges/DateFormat}} limit={{$:/config/RecentLimit}}/>
|
||||||
|
@ -3,12 +3,12 @@ tags: $:/tags/SideBarSegment
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
\define count-popup-button()
|
\procedure count-popup-button()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button popup=<<qualify "$:/state/popup/search-dropdown">> class="tc-btn-invisible">
|
<$button popup=<<qualify "$:/state/popup/search-dropdown">> class="tc-btn-invisible">
|
||||||
{{$:/core/images/down-arrow}}
|
{{$:/core/images/down-arrow}}
|
||||||
<$list filter="[{$(searchTiddler)$}minlength{$:/config/Search/MinLength}limit[1]]" variable="listItem">
|
<$list filter="[<searchTiddler>get[text]minlength{$:/config/Search/MinLength}limit[1]]" variable="listItem">
|
||||||
<$vars userInput={{{ [<searchTiddler>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} replaceRegexp="limit\[\d+\]">
|
<$vars userInput={{{ [<searchTiddler>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}} replaceRegexp="limit\[\d+\]">
|
||||||
<$vars primaryListFilter={{{ [<configTiddler>get[first-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}} secondaryListFilter={{{ [<configTiddler>get[second-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}}>
|
<$vars primaryListFilter={{{ [<configTiddler>get[first-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}} secondaryListFilter={{{ [<configTiddler>get[second-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}}>
|
||||||
<$set name="resultCount" value="""<$count filter="[subfilter<primaryListFilter>] [subfilter<secondaryListFilter>]"/>""">
|
<$set name="resultCount" value="""<$count filter="[subfilter<primaryListFilter>] [subfilter<secondaryListFilter>]"/>""">
|
||||||
{{$:/language/Search/Matches}}
|
{{$:/language/Search/Matches}}
|
||||||
@ -19,9 +19,9 @@ tags: $:/tags/SideBarSegment
|
|||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define search-results-list()
|
\procedure search-results-list()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$vars userInput={{$(searchTiddler)$}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>
|
<$vars userInput={{{ [<searchTiddler>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}>
|
||||||
<$list filter="[<userInput>minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
|
<$list filter="[<userInput>minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
|
||||||
|
|
||||||
<$tiddler tiddler=<<configTiddler>>>
|
<$tiddler tiddler=<<configTiddler>>>
|
||||||
@ -34,30 +34,32 @@ tags: $:/tags/SideBarSegment
|
|||||||
</$vars>
|
</$vars>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define cancel-search-actions() <$list filter="[<searchTiddler>get[text]!match{$:/temp/search}]" emptyMessage="""<$action-deletetiddler $filter="[[$:/temp/search]] [<searchTiddler>] [<searchListState>]"/>"""><$action-setfield $tiddler="$:/temp/search" text={{{ [<searchTiddler>get[text]] }}}/><$action-setfield $tiddler="$:/temp/search/refresh" text="yes"/></$list>
|
\procedure cancel-search-actions() <$list filter="[<searchTiddler>get[text]!match{$:/temp/search}]" emptyMessage="""<$action-deletetiddler $filter="[[$:/temp/search]] [<searchTiddler>] [<searchListState>]"/>"""><$action-setfield $tiddler="$:/temp/search" text={{{ [<searchTiddler>get[text]] }}}/><$action-setfield $tiddler="$:/temp/search/refresh" text="yes"/></$list>
|
||||||
|
|
||||||
\define input-accept-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="""<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>"""><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>
|
\procedure input-accept-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="""<$list filter="[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]"><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>"""><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>
|
||||||
|
|
||||||
\define input-accept-variant-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="""<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]"><$list filter="[<__tiddler__>get[text]minlength[1]]"><$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>"""><$list filter="[<__tiddler__>get[text]minlength[1]]"><$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>
|
\procedure input-accept-variant-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="""<$list filter="[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]"><$list filter="[<tiddler>get[text]minlength[1]]"><$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/></$list></$list>"""><$list filter="[<tiddler>get[text]minlength[1]]"><$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/></$list></$list>
|
||||||
|
|
||||||
\define set-next-input-tab(beforeafter:"after") <$macrocall $name="change-input-tab" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" beforeafter="$beforeafter$" defaultState={{$:/config/SearchResults/Default}} actions="""<$action-setfield $tiddler="$:/state/search/currentTab" text=<<nextTab>>/>"""/>
|
\procedure set-next-input-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" beforeafter="after" defaultState={{$:/config/SearchResults/Default}} actions="""<$action-setfield $tiddler="$:/state/search/currentTab" text=<<nextTab>>/>"""/>
|
||||||
|
|
||||||
\define advanced-search-actions() <$action-setfield $tiddler="$:/temp/advancedsearch" text={{$:/temp/search/input}}/><$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/search/input}}/><<delete-state-tiddlers>><$action-navigate $to="$:/AdvancedSearch"/><$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/><$action-sendmessage $message="tm-focus-selector" $param="""[data-tiddler-title="$:/AdvancedSearch"] .tc-search input""" preventScroll="true"/><$action-deletetiddler $filter="$:/temp/search $:/temp/search/input $:/temp/search/refresh [<searchListState>]"/>
|
\procedure set-previous-input-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" beforeafter="before" defaultState={{$:/config/SearchResults/Default}} actions="""<$action-setfield $tiddler="$:/state/search/currentTab" text=<<nextTab>>/>"""/>
|
||||||
|
|
||||||
|
\procedure advanced-search-actions() <$action-setfield $tiddler="$:/temp/advancedsearch" text={{$:/temp/search/input}}/><$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/search/input}}/><<delete-state-tiddlers>><$action-navigate $to="$:/AdvancedSearch"/><$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/><$action-sendmessage $message="tm-focus-selector" $param="""[data-tiddler-title="$:/AdvancedSearch"] .tc-search input""" preventScroll="true"/><$action-deletetiddler $filter="$:/temp/search $:/temp/search/input $:/temp/search/refresh [<searchListState>]"/>
|
||||||
|
|
||||||
<div class="tc-sidebar-lists tc-sidebar-search">
|
<div class="tc-sidebar-lists tc-sidebar-search">
|
||||||
|
|
||||||
<$vars editTiddler="$:/temp/search" searchTiddler="$:/temp/search/input" searchListState=<<qualify "$:/state/search-list/selected-item">>>
|
<$vars editTiddler="$:/temp/search" searchTiddler="$:/temp/search/input" searchListState=<<qualify "$:/state/search-list/selected-item">>>
|
||||||
<div class="tc-search">
|
<div class="tc-search">
|
||||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
|
||||||
<$keyboard key="((advanced-search-sidebar))" actions=<<advanced-search-actions>>>
|
<$keyboard key="((advanced-search-sidebar))" actions=<<advanced-search-actions>>>
|
||||||
<form class="tc-form-inline">
|
<form class="tc-form-inline">
|
||||||
<$macrocall $name="keyboard-driven-input" tiddler=<<editTiddler>> storeTitle=<<searchTiddler>>
|
<$transclude $variable="keyboard-driven-input" tiddler=<<editTiddler>> storeTitle=<<searchTiddler>>
|
||||||
selectionStateTitle=<<searchListState>> refreshTitle="$:/temp/search/refresh" type="search"
|
selectionStateTitle=<<searchListState>> refreshTitle="$:/temp/search/refresh" type="search"
|
||||||
tag="input" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify "$:/state/popup/search-dropdown">>
|
tag="input" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify "$:/state/popup/search-dropdown">>
|
||||||
class="tc-tiny-gap-right tc-popup-handle" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>>
|
class="tc-tiny-gap-right tc-popup-handle" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>>
|
||||||
inputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> cancelPopups="yes"
|
inputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> cancelPopups="yes"
|
||||||
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]"/>
|
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]"/>
|
||||||
</form>
|
</form>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
|
@ -62,7 +62,6 @@ color: #bbb
|
|||||||
\end
|
\end
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<div class="tc-table-wrapper">
|
|
||||||
<table class="tc-tag-manager-table">
|
<table class="tc-tag-manager-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
@ -116,5 +115,4 @@ color: #bbb
|
|||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
@ -2,6 +2,7 @@ title: $:/core/ui/ViewTemplate/body/rendered-plain-text
|
|||||||
code-body: yes
|
code-body: yes
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
\parameters (language:"css")
|
||||||
<$wikify name="text" text={{!!text}} type={{!!type}}>
|
<$wikify name="text" text={{!!text}} type={{!!type}}>
|
||||||
<$codeblock code=<<text>> language="css"/>
|
<$codeblock code=<<text>> language=<<language>>/>
|
||||||
</$wikify>
|
</$wikify>
|
4
core/ui/ViewTemplate/body/rendered-plain-text/html.tid
Normal file
4
core/ui/ViewTemplate/body/rendered-plain-text/html.tid
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
title: $:/core/ui/ViewTemplate/body/rendered-plain-text/html
|
||||||
|
code-body: yes
|
||||||
|
|
||||||
|
{{||$:/core/ui/ViewTemplate/body/rendered-plain-text|html}}
|
@ -1,6 +1,6 @@
|
|||||||
title: $:/config/OfficialPluginLibrary
|
title: $:/config/OfficialPluginLibrary
|
||||||
tags: $:/tags/PluginLibrary
|
tags: $:/tags/PluginLibrary
|
||||||
url: https://tiddlywiki.com/library/v5.3.6/index.html
|
url: https://tiddlywiki.com/library/v5.3.7/index.html
|
||||||
caption: {{$:/language/OfficialPluginLibrary}}
|
caption: {{$:/language/OfficialPluginLibrary}}
|
||||||
|
|
||||||
{{$:/language/OfficialPluginLibrary/Hint}}
|
{{$:/language/OfficialPluginLibrary/Hint}}
|
||||||
|
3
core/wiki/config/RecentLimit.tid
Normal file
3
core/wiki/config/RecentLimit.tid
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
title: $:/config/RecentLimit
|
||||||
|
|
||||||
|
100
|
@ -3,8 +3,9 @@ tags: $:/tags/ViewTemplateBodyFilter
|
|||||||
|
|
||||||
testcase: [tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]] [tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]] :then[[$:/core/ui/TestCaseTemplate]]
|
testcase: [tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]] [tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]] :then[[$:/core/ui/TestCaseTemplate]]
|
||||||
stylesheet: [tag[$:/tags/Stylesheet]then[$:/core/ui/ViewTemplate/body/rendered-plain-text]]
|
stylesheet: [tag[$:/tags/Stylesheet]then[$:/core/ui/ViewTemplate/body/rendered-plain-text]]
|
||||||
core-ui-tags: [tag[$:/tags/PageTemplate]] [tag[$:/tags/EditTemplate]] [tag[$:/tags/ViewTemplate]] [tag[$:/tags/KeyboardShortcut]] [tag[$:/tags/ImportPreview]] [tag[$:/tags/EditPreview]][tag[$:/tags/EditorToolbar]] [tag[$:/tags/Actions]] :then[[$:/core/ui/ViewTemplate/body/code]]
|
html: [tag[$:/tags/RawMarkupWikified]] [tag[$:/tags/RawMarkupWikified/TopHead]] [tag[$:/tags/RawMarkupWikified/TopBody]] [tag[$:/tags/RawMarkupWikified/BottomBody]] :then[[$:/core/ui/ViewTemplate/body/rendered-plain-text/html]]
|
||||||
system: [prefix[$:/boot/]] [prefix[$:/core/macros]] [prefix[$:/core/save/]] [prefix[$:/core/templates/]] [prefix[$:/config/]] [prefix[$:/info/]] [prefix[$:/language/]] [prefix[$:/languages/]] [prefix[$:/snippets/]] [prefix[$:/info/]] [prefix[$:/state/]] [prefix[$:/status/]] [prefix[$:/temp/]] :and[!is[image]] :then[[$:/core/ui/ViewTemplate/body/code]]
|
core-ui-tags: [tag[$:/tags/PageTemplate]] [tag[$:/tags/EditTemplate]] [tag[$:/tags/ViewTemplate]] [tag[$:/tags/KeyboardShortcut]] [tag[$:/tags/ImportPreview]] [tag[$:/tags/EditPreview]] [tag[$:/tags/EditorToolbar]] [tag[$:/EditorTools]] [tag[$:/tags/Actions]] [tag[$:/tags/ToolbarButtonStyle]] :then[[$:/core/ui/ViewTemplate/body/code]]
|
||||||
|
system: [prefix[$:/boot/]] [prefix[$:/core/macros]] [prefix[$:/core/save/]] [prefix[$:/core/templates/]] [prefix[$:/config/]] [prefix[$:/core/config/]] [prefix[$:/info/]] [prefix[$:/language/]] [prefix[$:/languages/]] [prefix[$:/snippets/]] [prefix[$:/info/]] [prefix[$:/state/]] [prefix[$:/status/]] [prefix[$:/temp/]] :and[!is[image]] :then[[$:/core/ui/ViewTemplate/body/code]]
|
||||||
code-body: [field:code-body[yes]then[$:/core/ui/ViewTemplate/body/code]]
|
code-body: [field:code-body[yes]then[$:/core/ui/ViewTemplate/body/code]]
|
||||||
import: [field:plugin-type[import]then[$:/core/ui/ViewTemplate/body/import]]
|
import: [field:plugin-type[import]then[$:/core/ui/ViewTemplate/body/import]]
|
||||||
plugin: [has[plugin-type]then[$:/core/ui/ViewTemplate/body/plugin]]
|
plugin: [has[plugin-type]then[$:/core/ui/ViewTemplate/body/plugin]]
|
||||||
|
@ -1,25 +1,12 @@
|
|||||||
title: $:/snippets/languageswitcher
|
title: $:/snippets/languageswitcher
|
||||||
|
|
||||||
\define flag-title()
|
|
||||||
$(languagePluginTitle)$/icon
|
|
||||||
\end
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
<$linkcatcher to="$:/language">
|
<$linkcatcher to="$:/language">
|
||||||
<div class="tc-chooser tc-language-chooser">
|
<div class="tc-chooser tc-language-chooser">
|
||||||
<$list filter="[[$:/languages/en-GB]] [plugin-type[language]sort[description]]">
|
<$list filter="[[$:/languages/en-GB]] [plugin-type[language]sort[description]]">
|
||||||
<$set name="cls" filter="[all[current]field:title{$:/language}]" value="tc-chooser-item tc-chosen" emptyValue="tc-chooser-item"><div class=<<cls>>>
|
<$set name="cls" filter="[all[current]field:title{$:/language}]" value="tc-chooser-item tc-chosen" emptyValue="tc-chooser-item">
|
||||||
|
<div class=<<cls>> lang={{!!name}}>
|
||||||
<$link>
|
<$link>
|
||||||
<span class="tc-image-button">
|
|
||||||
<$set name="languagePluginTitle" value=<<currentTiddler>>>
|
|
||||||
<$transclude subtiddler=<<flag-title>>>
|
|
||||||
<$list filter="[all[current]field:title[$:/languages/en-GB]]">
|
|
||||||
<$transclude tiddler="$:/languages/en-GB/icon"/>
|
|
||||||
</$list>
|
|
||||||
</$transclude>
|
|
||||||
</$set>
|
|
||||||
</span>
|
|
||||||
 
|
|
||||||
<$view field="description">
|
<$view field="description">
|
||||||
<$view field="name">
|
<$view field="name">
|
||||||
<$view field="title"/>
|
<$view field="title"/>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
title: $:/core/macros/CSS
|
title: $:/core/macros/CSS
|
||||||
tags: $:/tags/Macro $:/tags/Global
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
<!-- Needs to stay that way for backwards compatibility. See GH issue: #8326 -->
|
<!-- Needs to stay that way for backwards compatibility. See GH issue: #8326 -->
|
||||||
\define colour(name)
|
\define colour(name)
|
||||||
@ -13,42 +13,54 @@ tags: $:/tags/Macro $:/tags/Global
|
|||||||
|
|
||||||
\define color(name) <<colour $name$>>
|
\define color(name) <<colour $name$>>
|
||||||
|
|
||||||
\function box-shadow(shadow)
|
\define box-shadow(shadow)
|
||||||
[[ -webkit-box-shadow: $(shadow)$;
|
``
|
||||||
-moz-box-shadow: $(shadow)$;
|
-webkit-box-shadow: $shadow$;
|
||||||
box-shadow: $(shadow)$;]substitute[]]
|
-moz-box-shadow: $shadow$;
|
||||||
|
box-shadow: $shadow$;
|
||||||
|
``
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\function filter(filter)
|
\define filter(filter)
|
||||||
[[ -webkit-filter: $(filter)$;
|
``
|
||||||
-moz-filter: $(filter)$;
|
-webkit-filter: $filter$;
|
||||||
filter: $(filter)$;]substitute[]]
|
-moz-filter: $filter$;
|
||||||
|
filter: $filter$;
|
||||||
|
``
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\function transition(transition)
|
\define transition(transition)
|
||||||
[[ -webkit-transition: $(transition)$;
|
``
|
||||||
-moz-transition: $(transition)$;
|
-webkit-transition: $transition$;
|
||||||
transition: $(transition)$;]substitute[]]
|
-moz-transition: $transition$;
|
||||||
|
transition: $transition$;
|
||||||
|
``
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\function transform-origin(origin)
|
\define transform-origin(origin)
|
||||||
[[ -webkit-transform-origin: $(origin)$;
|
``
|
||||||
-moz-transform-origin: $(origin)$;
|
-webkit-transform-origin: $origin$;
|
||||||
transform-origin: $(origin)$;]substitute[]]
|
-moz-transform-origin: $origin$;
|
||||||
|
transform-origin: $origin$;
|
||||||
|
``
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\function background-linear-gradient(gradient)
|
\define background-linear-gradient(gradient)
|
||||||
[[ background-image: linear-gradient($(gradient)$);
|
``
|
||||||
background-image: -o-linear-gradient($(gradient)$);
|
background-image: linear-gradient($gradient$);
|
||||||
background-image: -moz-linear-gradient($(gradient)$);
|
background-image: -o-linear-gradient($gradient$);
|
||||||
background-image: -webkit-linear-gradient($(gradient)$);
|
background-image: -moz-linear-gradient($gradient$);
|
||||||
background-image: -ms-linear-gradient($(gradient)$);]substitute[]]
|
background-image: -webkit-linear-gradient($gradient$);
|
||||||
|
background-image: -ms-linear-gradient($gradient$);
|
||||||
|
``
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\function column-count(columns)
|
\define column-count(columns)
|
||||||
[[-moz-column-count: $(columns)$;
|
``
|
||||||
-webkit-column-count: $(columns)$;
|
-moz-column-count: $columns$;
|
||||||
column-count: $(columns)$;]substitute[]]
|
-webkit-column-count: $columns$;
|
||||||
|
column-count: $columns$;
|
||||||
|
``
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\procedure datauri(title)
|
\procedure datauri(title)
|
||||||
|
@ -1,58 +1,55 @@
|
|||||||
title: $:/core/macros/colour-picker
|
title: $:/core/macros/colour-picker
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\define colour-picker-update-recent()
|
\procedure colour-picker-update-recent()
|
||||||
<$action-listops
|
<$action-listops
|
||||||
$tiddler="$:/config/ColourPicker/Recent"
|
$tiddler="$:/config/ColourPicker/Recent"
|
||||||
$subfilter="$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]"
|
$subfilter="[<colour-picker-value>] [list[$:/config/ColourPicker/Recent]remove<colour-picker-value>] +[limit[8]]"
|
||||||
/>
|
/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define colour-picker-inner(actions)
|
\procedure colour-picker-inner(actions)
|
||||||
<$button tag="a" tooltip="""$(colour-picker-value)$""">
|
<$button tag="a" tooltip=<<colour-picker-value>>>
|
||||||
$(colour-picker-update-recent)$
|
<<colour-picker-update-recent>>
|
||||||
<$transclude $variable="__actions__"/>
|
<$transclude $variable="actions"/>
|
||||||
|
<span style.display="inline-block" style.backgroundColor=<<colour-picker-value>> style.width="100%" style.height="100%" style.borderRadius="50%"/>
|
||||||
<span style="display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;"/>
|
|
||||||
|
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define colour-picker-recent-inner(actions)
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$set name="colour-picker-value" value="$(recentColour)$">
|
\procedure colour-picker-recent-inner(actions)
|
||||||
<$macrocall $name="colour-picker-inner" actions=<<__actions__>>/>
|
<$set name="colour-picker-value" value=<<recentColour>>>
|
||||||
|
<$transclude $variable="colour-picker-inner" actions=<<actions>>/>
|
||||||
</$set>
|
</$set>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define colour-picker-recent(actions)
|
\procedure colour-picker-recent(actions)
|
||||||
\whitespace trim
|
|
||||||
{{$:/language/ColourPicker/Recent}}<$list filter="[list[$:/config/ColourPicker/Recent]]" variable="recentColour">
|
{{$:/language/ColourPicker/Recent}}<$list filter="[list[$:/config/ColourPicker/Recent]]" variable="recentColour">
|
||||||
 
|
 
|
||||||
<$macrocall $name="colour-picker-recent-inner" actions=<<__actions__>>/>
|
<$transclude $variable="colour-picker-recent-inner" actions=<<actions>>/>
|
||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define colour-picker(actions)
|
\procedure colour-picker(actions)
|
||||||
\whitespace trim
|
|
||||||
<div class="tc-colour-chooser">
|
<div class="tc-colour-chooser">
|
||||||
|
|
||||||
<$macrocall $name="colour-picker-recent" actions=<<__actions__>>/>
|
<$transclude $variable="colour-picker-recent" actions=<<actions>>/>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<$list filter="LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black" variable="colour-picker-value">
|
<$list filter="LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black" variable="colour-picker-value">
|
||||||
 
|
 
|
||||||
<$macrocall $name="colour-picker-inner" actions=<<__actions__>>/>
|
<$transclude $variable="colour-picker-inner" actions=<<actions>>/>
|
||||||
</$list>
|
</$list>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<$edit-text tiddler="$:/config/ColourPicker/New" tag="input" default="" placeholder=""/>
|
<$edit-text tiddler="$:/config/ColourPicker/New" tag="input" default="" placeholder="" class="tc-tiny-gap-right"/>
|
||||||
 
|
|
||||||
<$edit-text tiddler="$:/config/ColourPicker/New" type="color" tag="input"/>
|
<$edit-text tiddler="$:/config/ColourPicker/New" type="color" tag="input"/>
|
||||||
<$set name="colour-picker-value" value={{$:/config/ColourPicker/New}}>
|
<$set name="colour-picker-value" value={{$:/config/ColourPicker/New}}>
|
||||||
<$macrocall $name="colour-picker-inner" actions=<<__actions__>>/>
|
<%if [{$:/config/ColourPicker/New}!is[blank]] %>
|
||||||
|
<$transclude $variable="colour-picker-inner" actions=<<actions>>/>
|
||||||
|
<%endif%>
|
||||||
</$set>
|
</$set>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
title: $:/core/macros/copy-to-clipboard
|
title: $:/core/macros/copy-to-clipboard
|
||||||
tags: $:/tags/Macro $:/tags/Global
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
\procedure copy-to-clipboard(src,class:"tc-btn-invisible",style)
|
\procedure copy-to-clipboard(src,class:"tc-btn-invisible",style,type:"text/plain",plain)
|
||||||
<$button message="tm-copy-to-clipboard"
|
\procedure copy-to-clipboard-actions()
|
||||||
param=<<src>>
|
<$action-sendmessage $message="tm-copy-to-clipboard" $param=<<src>> type=<<type>> plainText=<<plain>>/>
|
||||||
|
\end copy-to-clipboard-actions
|
||||||
|
<$button actions=<<copy-to-clipboard-actions>>
|
||||||
class=<<class>>
|
class=<<class>>
|
||||||
style=<<style>>
|
style=<<style>>
|
||||||
tooltip={{$:/language/Buttons/CopyToClipboard/Hint}}
|
tooltip={{$:/language/Buttons/CopyToClipboard/Hint}}
|
||||||
@ -15,12 +17,12 @@ tags: $:/tags/Macro $:/tags/Global
|
|||||||
<$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>
|
<$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end copy-to-clipboard
|
||||||
|
|
||||||
\procedure copy-to-clipboard-above-right(src,class:"tc-btn-invisible",style)
|
\procedure copy-to-clipboard-above-right(src,class:"tc-btn-invisible",style,type:"text/plain")
|
||||||
<div style="position: relative;">
|
<div style.position="relative">
|
||||||
<div style="position: absolute; bottom: 0; right: 0;">
|
<div style.position="absolute" style.bottom="0" style.right="0">
|
||||||
<$macrocall $name="copy-to-clipboard" src=<<src>> class=<<class>> style=<<style>>/>
|
<$transclude $variable="copy-to-clipboard" src=<<src>> class=<<class>> style=<<style>> type=<<type>> plain=<<plain>>/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
\end
|
\end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
title: $:/core/macros/diff
|
title: $:/core/macros/diff
|
||||||
tags: $:/tags/Macro $:/tags/Global
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
title: $:/core/macros/dumpvariables
|
title: $:/core/macros/dumpvariables
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\define dumpvariables()
|
\procedure dumpvariables()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<ul>
|
<ul>
|
||||||
<$list filter="[variables[]]" variable="varname">
|
<$list filter="[variables[]]" variable="varname">
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
title: $:/core/macros/export
|
title: $:/core/macros/export
|
||||||
tags: $:/tags/Macro $:/tags/Global
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\function exportButtonFilename(baseFilename)
|
\function exportButtonFilename(baseFilename)
|
||||||
[<baseFilename>] [<extension>] +[join[]]
|
[<baseFilename>] [<extension>] +[join[]]
|
||||||
@ -39,6 +39,7 @@ tags: $:/tags/Macro $:/tags/Global
|
|||||||
$param=<<currentTiddler>>
|
$param=<<currentTiddler>>
|
||||||
exportFilter=<<exportFilter>>
|
exportFilter=<<exportFilter>>
|
||||||
filename={{{ [<baseFilename>addsuffix{!!extension}] }}}
|
filename={{{ [<baseFilename>addsuffix{!!extension}] }}}
|
||||||
|
type={{!!file-type}}
|
||||||
/>
|
/>
|
||||||
<$action-deletetiddler $tiddler=<<qualify "$:/state/popup/export">>/>
|
<$action-deletetiddler $tiddler=<<qualify "$:/state/popup/export">>/>
|
||||||
<$transclude field="description"/>
|
<$transclude field="description"/>
|
||||||
|
@ -1,39 +1,36 @@
|
|||||||
created: 20170715180840889
|
|
||||||
modified: 20170715180914005
|
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
title: $:/core/macros/image-picker
|
title: $:/core/macros/image-picker
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
\define image-picker-thumbnail(actions)
|
\procedure image-picker-thumbnail(actions)
|
||||||
<$button tag="a" tooltip="""$(imageTitle)$"""><$transclude $variable="__actions__"/><$transclude tiddler=<<imageTitle>>/></$button>
|
<$button tag="a" tooltip=<<imageTitle>>><$transclude $variable="actions"/><$transclude tiddler=<<imageTitle>>/></$button>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define image-picker-list(filter,actions)
|
\procedure image-picker-list(filter,actions)
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list filter="""$filter$""" variable="imageTitle">
|
<$list filter=<<filter>> variable="imageTitle">
|
||||||
<$macrocall $name="image-picker-thumbnail" actions=<<__actions__>>/>
|
<$transclude $variable="image-picker-thumbnail" actions=<<actions>>/>
|
||||||
 
|
 
|
||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define image-picker(actions,filter:"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]",subfilter:"")
|
\procedure image-picker(actions,filter:"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]",subfilter:"")
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<div class="tc-image-chooser">
|
<div class="tc-image-chooser">
|
||||||
<$vars state-system=<<qualify "$:/state/image-picker/system">>>
|
<$let state-system=<<qualify "$:/state/image-picker/system">> tv-filter={{{ [<filter>search-replace[$subfilter$],<subfilter>] }}}>
|
||||||
<$checkbox tiddler=<<state-system>> field="text" checked="show" unchecked="hide" default="hide">
|
<$checkbox tiddler=<<state-system>> field="text" checked="show" unchecked="hide" default="hide">
|
||||||
 
|
<span class="tc-tiny-gap-left">{{$:/language/SystemTiddlers/Include/Prompt}}</span>
|
||||||
{{$:/language/SystemTiddlers/Include/Prompt}}
|
|
||||||
</$checkbox>
|
</$checkbox>
|
||||||
<$reveal state=<<state-system>> type="match" text="hide" default="hide" tag="div">
|
<$reveal state=<<state-system>> type="match" text="hide" default="hide" tag="div">
|
||||||
<$macrocall $name="image-picker-list" filter="""$filter$ +[!is[system]]""" actions=<<__actions__>>/>
|
<$transclude $variable="image-picker-list" filter=`$(tv-filter)$ +[!is[system]]` actions=<<actions>>/>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
<$reveal state=<<state-system>> type="nomatch" text="hide" default="hide" tag="div">
|
<$reveal state=<<state-system>> type="nomatch" text="hide" default="hide" tag="div">
|
||||||
<$macrocall $name="image-picker-list" filter="""$filter$""" actions=<<__actions__>>/>
|
<$transclude $variable="image-picker-list" filter=<<tv-filter>> actions=<<actions>>/>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
</$vars>
|
</$let>
|
||||||
</div>
|
</div>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define image-picker-include-tagged-images(actions)
|
\procedure image-picker-include-tagged-images(actions)
|
||||||
<$macrocall $name="image-picker" filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]" actions=<<__actions__>>/>
|
<$transclude $variable="image-picker" filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]" actions=<<actions>>/>
|
||||||
\end
|
\end
|
||||||
|
@ -1,105 +1,137 @@
|
|||||||
title: $:/core/macros/keyboard-driven-input
|
title: $:/core/macros/keyboard-driven-input
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)
|
\procedure prefix.bracket() [
|
||||||
|
\procedure suffix.bracket() ]
|
||||||
|
|
||||||
|
\function tf.change-input-tab.next-tab() [[all]addprefix<prefix.bracket>addsuffix<prefix.bracket>addsuffix[shadows+tiddlers]addsuffix<suffix.bracket>addsuffix[tag<tag>!has]addsuffix<prefix.bracket>addsuffix[draft.of]addsuffix<suffix.bracket>addsuffix<beforeafter>addsuffix[<currentState>]addsuffix<suffix.bracket>addsuffix[ :else]addsuffix<prefix.bracket>addsuffix<prefix.bracket>addsuffix<beforeafter>addsuffix<suffix.bracket>addsuffix[match]addsuffix<prefix.bracket>addsuffix[after]addsuffix<suffix.bracket>addsuffix[then<firstTab>]addsuffix<suffix.bracket>addsuffix[ :else]addsuffix<prefix.bracket>addsuffix<prefix.bracket>addsuffix<beforeafter>addsuffix<suffix.bracket>addsuffix[match]addsuffix<prefix.bracket>addsuffix[before]addsuffix<suffix.bracket>addsuffix[then<lastTab>]addsuffix<suffix.bracket>]
|
||||||
|
|
||||||
|
\procedure change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$set name="tabsList" filter="[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]">
|
<$set name="tabsList" filter="[<explicitTabList>!is[blank]enlist-input[]] :else[all[shadows+tiddlers]tag<tag>!has[draft.of]]">
|
||||||
<$let
|
<$let
|
||||||
currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}}
|
currentState={{{ [<stateTitle>!is[missing]get[text]] :else[<defaultState>] }}}
|
||||||
firstTab={{{ [enlist<tabsList>nth[1]] }}}
|
firstTab={{{ [enlist<tabsList>nth[1]] }}}
|
||||||
lastTab={{{ [enlist<tabsList>last[]] }}}
|
lastTab={{{ [enlist<tabsList>last[]] }}}
|
||||||
nextTab={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$<currentState>] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix<firstTab>] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix<lastTab>] }}}
|
nextTabSubFilter=<<tf.change-input-tab.next-tab>>
|
||||||
|
nextTab={{{ [subfilter<nextTabSubFilter>] }}}
|
||||||
>
|
>
|
||||||
<$action-setfield $tiddler=<<__stateTitle__>> text=<<nextTab>>/>
|
<$action-setfield $tiddler=<<stateTitle>> text=<<nextTab>>/>
|
||||||
$actions$
|
<<actions>>
|
||||||
</$let>
|
</$let>
|
||||||
</$set>
|
</$set>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define keyboard-input-actions()
|
\procedure keyboard-input-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list filter="[<__index__>match[]]">
|
<%if [<index>match[]] %>
|
||||||
<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/>
|
<$action-setfield $tiddler=<<storeTitle>> text={{{ [<tiddler>get<field>] }}}/>
|
||||||
</$list>
|
<% endif %>
|
||||||
<$list filter="[<__index__>!match[]]">
|
<%if [<index>!match[]] %>
|
||||||
<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>getindex<__index__>] }}}/>
|
<$action-setfield $tiddler=<<storeTitle>> text={{{ [<tiddler>getindex<index>] }}}/>
|
||||||
</$list>
|
<% endif %>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-next-actions-inner()
|
\procedure input-next-actions-inner()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list filter="[<nextItem>minlength[1]]" variable="ignore">
|
<%if [<nextItem>minlength[1]] %>
|
||||||
<$action-setfield $tiddler=<<__selectionStateTitle__>> text=<<nextItem>>/>
|
<$action-setfield $tiddler=<<selectionStateTitle>> text=<<nextItem>>/>
|
||||||
<$list filter="[<__index__>match[]]">
|
<%if [<index>match[]] %>
|
||||||
<$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>
|
<$action-setfield $tiddler=<<tiddler>> $field=<<field>> $value={{{ [<nextItem>] :and[splitregexp[(?:.(?!-))+$]] }}}/>
|
||||||
</$list>
|
<% endif %>
|
||||||
<$list filter="[<__index__>!match[]]">
|
<%if [<index>!match[]] %>
|
||||||
<$action-setfield $tiddler=<<__tiddler__>> $index=<<__index__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>
|
<$action-setfield $tiddler=<<tiddler>> $index=<<index>> $value={{{ [<nextItem>] :and[splitregexp[(?:.(?!-))+$]] }}}/>
|
||||||
</$list>
|
<% endif %>
|
||||||
<$action-setfield $tiddler=<<__refreshTitle__>> text="yes"/>
|
<$action-setfield $tiddler=<<refreshTitle>> text="yes"/>
|
||||||
</$list>
|
<% endif %>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-next-actions(afterOrBefore:"after",reverse:"")
|
\procedure input-next-actions-after()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<%if [<storeTitle>get[text]minlength<filterMinLength>] [<filterMinLength>match[0]] %>
|
||||||
filter="[<__storeTitle__>get[text]minlength<__filterMinLength__>] [<__filterMinLength__>match[0]] +[limit[1]]"
|
|
||||||
variable="ignore"
|
|
||||||
>
|
|
||||||
<$let
|
<$let
|
||||||
userInput={{{ [<__storeTitle__>get[text]] }}}
|
userInput={{{ [<storeTitle>get[text]] }}}
|
||||||
selectedItem={{{ [<__selectionStateTitle__>get[text]] }}}
|
selectedItem={{{ [<selectionStateTitle>get[text]] }}}
|
||||||
configTiddler={{{ [subfilter<__configTiddlerFilter__>] }}}
|
configTiddler={{{ [subfilter<configTiddlerFilter>] }}}
|
||||||
primaryListFilter={{{ [<configTiddler>get<__firstSearchFilterField__>] }}}
|
primaryListFilter={{{ [<configTiddler>get<firstSearchFilterField>] }}}
|
||||||
secondaryListFilter={{{ [<configTiddler>get<__secondSearchFilterField__>] }}}
|
secondaryListFilter={{{ [<configTiddler>get<secondSearchFilterField>] }}}
|
||||||
>
|
>
|
||||||
<$set
|
<$set
|
||||||
name="filteredList"
|
name="filteredList"
|
||||||
filter="[subfilter<primaryListFilter>addsuffix[-primaryList]] =[subfilter<secondaryListFilter>addsuffix[-secondaryList]]"
|
filter="[subfilter<primaryListFilter>addsuffix[-primaryList]] :all[subfilter<secondaryListFilter>addsuffix[-secondaryList]]"
|
||||||
>
|
>
|
||||||
<$let
|
<$let
|
||||||
nextItem={{{ [enlist<filteredList>$afterOrBefore$<selectedItem>] ~[enlist<filteredList>$reverse$nth[1]] }}}
|
nextItem={{{ [enlist<filteredList>after<selectedItem>] :else[enlist<filteredList>nth[1]] }}}
|
||||||
firstItem={{{ [enlist<filteredList>nth[1]] }}}
|
firstItem={{{ [enlist<filteredList>nth[1]] }}}
|
||||||
lastItem={{{ [enlist<filteredList>last[]] }}}
|
lastItem={{{ [enlist<filteredList>last[]] }}}
|
||||||
>
|
>
|
||||||
<$list filter="[<selectedItem>match<firstItem>!match<lastItem>]" variable="ignore">
|
<%if [<selectedItem>match<firstItem>!match<lastItem>] [<selectedItem>!match<firstItem>!match<lastItem>] %>
|
||||||
<$set name="nextItem" value={{{ [[$afterOrBefore$]match[before]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>
|
<<input-next-actions-inner>>
|
||||||
<<input-next-actions-inner>>
|
<%elseif [<selectedItem>match<lastItem>!match<firstItem>] %>
|
||||||
</$set>
|
|
||||||
</$list>
|
|
||||||
<$list filter="[<selectedItem>match<lastItem>!match<firstItem>]" variable="ignore">
|
|
||||||
<$set name="nextItem" value={{{ [[$afterOrBefore$]match[after]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>
|
|
||||||
<<input-next-actions-inner>>
|
|
||||||
</$set>
|
|
||||||
</$list>
|
|
||||||
<$list filter="[<selectedItem>match<firstItem>match<lastItem>]" variable="ignore">
|
|
||||||
<$set name="nextItem" value={{{ [<userInput>addsuffix[-userInput]] }}}>
|
<$set name="nextItem" value={{{ [<userInput>addsuffix[-userInput]] }}}>
|
||||||
<<input-next-actions-inner>>
|
<<input-next-actions-inner>>
|
||||||
</$set>
|
</$set>
|
||||||
</$list>
|
<%elseif [<selectedItem>match<firstItem>match<lastItem>] %>
|
||||||
<$list filter="[<selectedItem>!match<firstItem>!match<lastItem>]" variable="ignore">
|
<$set name="nextItem" value={{{ [<userInput>addsuffix[-userInput]] }}}>
|
||||||
<<input-next-actions-inner>>
|
<<input-next-actions-inner>>
|
||||||
</$list>
|
</$set>
|
||||||
|
<% endif %>
|
||||||
</$let>
|
</$let>
|
||||||
</$set>
|
</$set>
|
||||||
</$let>
|
</$let>
|
||||||
</$list>
|
<% endif %>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define keyboard-driven-input(tiddler,storeTitle,field:"text",index:"",tag:"input",type,focus:"",inputAcceptActions,inputAcceptVariantActions,inputCancelActions,placeholder:"",default:"",class,focusPopup,rows,minHeight,tabindex,size,autoHeight,filterMinLength:"0",refreshTitle,selectionStateTitle,cancelPopups:"",configTiddlerFilter,firstSearchFilterField:"first-search-filter",secondSearchFilterField:"second-search-filter")
|
\procedure input-next-actions-before()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$keyboard key="((input-accept))" actions=<<__inputAcceptActions__>>>
|
<%if [<storeTitle>get[text]minlength<filterMinLength>] [<filterMinLength>match[0]] %>
|
||||||
<$keyboard key="((input-accept-variant))" actions=<<__inputAcceptVariantActions__>>>
|
<$let
|
||||||
<$keyboard key="((input-up))" actions=<<input-next-actions "before" "reverse[]">>>
|
userInput={{{ [<storeTitle>get[text]] }}}
|
||||||
<$keyboard key="((input-down))" actions=<<input-next-actions>>>
|
selectedItem={{{ [<selectionStateTitle>get[text]] }}}
|
||||||
<$keyboard key="((input-cancel))" actions=<<__inputCancelActions__>>>
|
configTiddler={{{ [subfilter<configTiddlerFilter>] }}}
|
||||||
|
primaryListFilter={{{ [<configTiddler>get<firstSearchFilterField>] }}}
|
||||||
|
secondaryListFilter={{{ [<configTiddler>get<secondSearchFilterField>] }}}
|
||||||
|
>
|
||||||
|
<$set
|
||||||
|
name="filteredList"
|
||||||
|
filter="[subfilter<primaryListFilter>addsuffix[-primaryList]] :all[subfilter<secondaryListFilter>addsuffix[-secondaryList]]"
|
||||||
|
>
|
||||||
|
<$let
|
||||||
|
nextItem={{{ [enlist<filteredList>before<selectedItem>] :else[enlist<filteredList>reverse[]nth[1]] }}}
|
||||||
|
firstItem={{{ [enlist<filteredList>nth[1]] }}}
|
||||||
|
lastItem={{{ [enlist<filteredList>last[]] }}}
|
||||||
|
>
|
||||||
|
<%if [<selectedItem>match<firstItem>!match<lastItem>] %>
|
||||||
|
<$set name="nextItem" value={{{ [<userInput>addsuffix[-userInput]] }}}>
|
||||||
|
<<input-next-actions-inner>>
|
||||||
|
</$set>
|
||||||
|
<%elseif [<selectedItem>match<lastItem>!match<firstItem>] [<selectedItem>!match<firstItem>!match<lastItem>] %>
|
||||||
|
<<input-next-actions-inner>>
|
||||||
|
<%elseif [<selectedItem>match<firstItem>match<lastItem>] %>
|
||||||
|
<$set name="nextItem" value={{{ [<userInput>addsuffix[-userInput]] }}}>
|
||||||
|
<<input-next-actions-inner>>
|
||||||
|
</$set>
|
||||||
|
<% endif %>
|
||||||
|
</$let>
|
||||||
|
</$set>
|
||||||
|
</$let>
|
||||||
|
<% endif %>
|
||||||
|
\end
|
||||||
|
|
||||||
|
\procedure keyboard-driven-input(tiddler,storeTitle,field:"text",index:"",tag:"input",type,focus:"",inputAcceptActions,inputAcceptVariantActions,inputCancelActions,placeholder:"",default:"",class,focusPopup,rows,minHeight,tabindex,size,autoHeight,filterMinLength:"0",refreshTitle,selectionStateTitle,cancelPopups:"",configTiddlerFilter,firstSearchFilterField:"first-search-filter",secondSearchFilterField:"second-search-filter")
|
||||||
|
\whitespace trim
|
||||||
|
<$keyboard key="((input-accept))" actions=<<inputAcceptActions>>>
|
||||||
|
<$keyboard key="((input-accept-variant))" actions=<<inputAcceptVariantActions>>>
|
||||||
|
<$keyboard key="((input-up))" actions=<<input-next-actions-before>>>
|
||||||
|
<$keyboard key="((input-down))" actions=<<input-next-actions-after>>>
|
||||||
|
<$keyboard key="((input-cancel))" actions=<<inputCancelActions>>>
|
||||||
<$edit-text
|
<$edit-text
|
||||||
tiddler=<<__tiddler__>> field=<<__field__>> index=<<__index__>>
|
tiddler=<<tiddler>> field=<<field>> index=<<index>>
|
||||||
inputActions=<<keyboard-input-actions>> tag=<<__tag__>> class=<<__class__>>
|
inputActions=<<keyboard-input-actions>> tag=<<tag>> class=<<class>>
|
||||||
placeholder=<<__placeholder__>> default=<<__default__>> focusPopup=<<__focusPopup__>>
|
placeholder=<<placeholder>> default=<<default>> focusPopup=<<focusPopup>>
|
||||||
focus=<<__focus__>> type=<<__type__>> rows=<<__rows__>> minHeight=<<__minHeight__>>
|
focus=<<focus>> type=<<type>> rows=<<rows>> minHeight=<<minHeight>>
|
||||||
tabindex=<<__tabindex__>> size=<<__size__>> autoHeight=<<__autoHeight__>>
|
tabindex=<<tabindex>> size=<<size>> autoHeight=<<autoHeight>>
|
||||||
refreshTitle=<<__refreshTitle__>> cancelPopups=<<__cancelPopups__>>
|
refreshTitle=<<refreshTitle>> cancelPopups=<<cancelPopups>>
|
||||||
/>
|
/>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
title: $:/core/macros/list
|
title: $:/core/macros/list
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\define list-links(filter,type:"ul",subtype:"li",class:"",emptyMessage,field:"caption")
|
\procedure list-links-draggable-drop-actions()
|
||||||
|
<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter="+[insertbefore<actionTiddler>,<currentTiddler>]"/>
|
||||||
|
\end
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$genesis $type=<<__type__>> class=<<__class__>>>
|
\procedure list-links(filter,type:"ul",subtype:"li",class:"",emptyMessage,field:"caption")
|
||||||
<$list filter=<<__filter__>> emptyMessage=<<__emptyMessage__>>>
|
<$genesis $type=<<type>> class=<<class>>>
|
||||||
<$genesis $type=<<__subtype__>>>
|
<$list filter=<<filter>> emptyMessage=<<emptyMessage>>>
|
||||||
|
<$genesis $type=<<subtype>>>
|
||||||
<$link to={{!!title}}>
|
<$link to={{!!title}}>
|
||||||
<$let tv-wikilinks="no">
|
<$let tv-wikilinks="no">
|
||||||
<$transclude field=<<__field__>>>
|
<$transclude field=<<field>>>
|
||||||
<$view field="title"/>
|
<$view field="title"/>
|
||||||
</$transclude>
|
</$transclude>
|
||||||
</$let>
|
</$let>
|
||||||
@ -18,24 +22,19 @@ tags: $:/tags/Macro
|
|||||||
</$genesis>
|
</$genesis>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define list-links-draggable-drop-actions()
|
\procedure list-links-draggable(tiddler,field:"list",emptyMessage,type:"ul",subtype:"li",class:"",itemTemplate)
|
||||||
<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter="+[insertbefore<actionTiddler>,<currentTiddler>]"/>
|
|
||||||
\end
|
|
||||||
|
|
||||||
\define list-links-draggable(tiddler,field:"list",emptyMessage,type:"ul",subtype:"li",class:"",itemTemplate)
|
|
||||||
\whitespace trim
|
|
||||||
<span class="tc-links-draggable-list">
|
<span class="tc-links-draggable-list">
|
||||||
<$vars targetTiddler="""$tiddler$""" targetField="""$field$""">
|
<$let targetTiddler=<<tiddler>> targetField=<<field>>>
|
||||||
<$genesis $type=<<__type__>> class="$class$">
|
<$genesis $type=<<type>> class=<<class>>>
|
||||||
<$list filter="[list[$tiddler$!!$field$]]" emptyMessage=<<__emptyMessage__>>>
|
<$list filter="[<tiddler>get<field>enlist-input[]]" emptyMessage=<<emptyMessage>>>
|
||||||
<$droppable
|
<$droppable
|
||||||
actions=<<list-links-draggable-drop-actions>>
|
actions=<<list-links-draggable-drop-actions>>
|
||||||
tag="""$subtype$"""
|
tag=<<subtype>>
|
||||||
enable=<<tv-enable-drag-and-drop>>
|
enable=<<tv-enable-drag-and-drop>>
|
||||||
>
|
>
|
||||||
<div class="tc-droppable-placeholder"/>
|
<div class="tc-droppable-placeholder"/>
|
||||||
<div>
|
<div>
|
||||||
<$transclude tiddler="""$itemTemplate$""">
|
<$transclude tiddler=<<itemTemplate>>>
|
||||||
<$link to={{!!title}}>
|
<$link to={{!!title}}>
|
||||||
<$let tv-wikilinks="no">
|
<$let tv-wikilinks="no">
|
||||||
<$transclude field="caption">
|
<$transclude field="caption">
|
||||||
@ -60,52 +59,54 @@ tags: $:/tags/Macro
|
|||||||
</$droppable>
|
</$droppable>
|
||||||
</$tiddler>
|
</$tiddler>
|
||||||
</$genesis>
|
</$genesis>
|
||||||
</$vars>
|
</$let>
|
||||||
</span>
|
</span>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define list-tagged-draggable-drop-actions(tag)
|
\procedure list-tagged-draggable-drop-actions(tag)
|
||||||
\whitespace trim
|
|
||||||
<!-- Save the current ordering of the tiddlers with this tag -->
|
<!-- Save the current ordering of the tiddlers with this tag -->
|
||||||
<$set name="order" filter="[<__tag__>tagging[]]">
|
<$set name="order" filter="[<tag>tagging[]]">
|
||||||
<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->
|
<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->
|
||||||
<$list filter="[<__tag__>tagging[]]">
|
<$list filter="[<tag>tagging[]]">
|
||||||
<$action-deletefield $field="list-before"/>
|
<$action-deletefield $field="list-before"/>
|
||||||
<$action-deletefield $field="list-after"/>
|
<$action-deletefield $field="list-after"/>
|
||||||
</$list>
|
</$list>
|
||||||
<!-- Save the new order to the Tag Tiddler -->
|
<!-- Save the new order to the Tag Tiddler -->
|
||||||
<$action-listops $tiddler=<<__tag__>> $field="list" $filter="+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]"/>
|
<$action-listops $tiddler=<<tag>> $field="list" $filter="+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]"/>
|
||||||
<!-- Make sure the newly added item has the right tag -->
|
<!-- Make sure the newly added item has the right tag -->
|
||||||
<!-- Removing this line makes dragging tags within the dropdown work as intended -->
|
<!-- Removing this line makes dragging tags within the dropdown work as intended -->
|
||||||
<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->
|
<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<tag>>/>-->
|
||||||
<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->
|
<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->
|
||||||
<$list filter="[<actionTiddler>!contains:tags<__tag__>]">
|
<$list filter="[<actionTiddler>!contains:tags<tag>]">
|
||||||
<$fieldmangler tiddler=<<actionTiddler>>>
|
<$fieldmangler tiddler=<<actionTiddler>>>
|
||||||
<$action-sendmessage $message="tm-add-tag" $param=<<__tag__>>/>
|
<$action-sendmessage $message="tm-add-tag" $param=<<tag>>/>
|
||||||
</$fieldmangler>
|
</$fieldmangler>
|
||||||
</$list>
|
</$list>
|
||||||
</$set>
|
</$set>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:"div",storyview:"")
|
\procedure list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:"div",storyview:"")
|
||||||
\whitespace trim
|
|
||||||
<span class="tc-tagged-draggable-list">
|
<span class="tc-tagged-draggable-list">
|
||||||
<$set name="tag" value=<<__tag__>>>
|
<$set name="tag" value=<<tag>>>
|
||||||
<$list
|
<$list
|
||||||
filter="[<__tag__>tagging[]$subFilter$]"
|
filter=`[<tag>tagging[]$(subFilter)$]`
|
||||||
emptyMessage=<<__emptyMessage__>>
|
emptyMessage=<<emptyMessage>>
|
||||||
storyview=<<__storyview__>>
|
storyview=<<storyview>>
|
||||||
>
|
>
|
||||||
<$genesis $type=<<__elementTag__>> class="tc-menu-list-item">
|
<$genesis $type=<<elementTag>> class="tc-menu-list-item">
|
||||||
<$droppable
|
<$droppable
|
||||||
actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__>>/>"""
|
actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<tag>>/>"""
|
||||||
enable=<<tv-enable-drag-and-drop>>
|
enable=<<tv-enable-drag-and-drop>>
|
||||||
>
|
>
|
||||||
<$genesis $type=<<__elementTag__>> class="tc-droppable-placeholder"/>
|
<$genesis $type=<<elementTag>> class="tc-droppable-placeholder"/>
|
||||||
<$genesis $type=<<__elementTag__>>>
|
<$genesis $type=<<elementTag>>>
|
||||||
<$transclude tiddler="""$itemTemplate$""">
|
<$transclude tiddler=<<itemTemplate>>>
|
||||||
<$link to={{!!title}}>
|
<$link to={{!!title}}>
|
||||||
<$view field="title"/>
|
<$let tv-wikilinks="no">
|
||||||
|
<$transclude field="caption">
|
||||||
|
<$view field="title"/>
|
||||||
|
</$transclude>
|
||||||
|
</$let>
|
||||||
</$link>
|
</$link>
|
||||||
</$transclude>
|
</$transclude>
|
||||||
</$genesis>
|
</$genesis>
|
||||||
@ -114,11 +115,11 @@ tags: $:/tags/Macro
|
|||||||
</$list>
|
</$list>
|
||||||
<$tiddler tiddler="">
|
<$tiddler tiddler="">
|
||||||
<$droppable
|
<$droppable
|
||||||
actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__>>/>"""
|
actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<tag>>/>"""
|
||||||
enable=<<tv-enable-drag-and-drop>>
|
enable=<<tv-enable-drag-and-drop>>
|
||||||
>
|
>
|
||||||
<$genesis $type=<<__elementTag__>> class="tc-droppable-placeholder"/>
|
<$genesis $type=<<elementTag>> class="tc-droppable-placeholder"/>
|
||||||
<$genesis $type=<<__elementTag__>> style="height:0.5em;"/>
|
<$genesis $type=<<elementTag>> style="height:0.5em;"/>
|
||||||
</$droppable>
|
</$droppable>
|
||||||
</$tiddler>
|
</$tiddler>
|
||||||
</$set>
|
</$set>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
title: $:/core/macros/show-filter-count
|
title: $:/core/macros/show-filter-count
|
||||||
tags: $:/tags/Macro $:/tags/Global
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
title: $:/core/macros/tag-picker
|
title: $:/core/macros/tag-picker
|
||||||
tags: $:/tags/Macro $:/tags/Global
|
tags: $:/tags/Macro
|
||||||
first-search-filter: [subfilter<tagListFilter>!is[system]search:title<userInput>]
|
first-search-filter: [subfilter<tagListFilter>!is[system]search:title<userInput>]
|
||||||
second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>]
|
second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>]
|
||||||
|
|
||||||
@ -13,11 +13,11 @@ second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>
|
|||||||
<!-- tf.tagpicker-dropdown-id is needed if several tap-pickers are shown in one tiddler -->
|
<!-- tf.tagpicker-dropdown-id is needed if several tap-pickers are shown in one tiddler -->
|
||||||
\function tf.tagpicker-dropdown-id()
|
\function tf.tagpicker-dropdown-id()
|
||||||
[<qualify $:/state/popup/tags-auto-complete>]
|
[<qualify $:/state/popup/tags-auto-complete>]
|
||||||
[[$(saveTiddler)$-[$(tagField)$-$(tagListFilter)$]substitute[]sha256[]] +[join[/]]
|
[[$(saveTiddler)$-[$(tagField)$-$(tagListFilter)$]substitute[]sha256[]] :and[join[/]]
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\function tf.tagpicker-dropdown-class() [<tf.tagpicker-dropdown-id>sha256[]addprefix[tc-]]
|
\function tf.tagpicker-dropdown-class() [<tf.tagpicker-dropdown-id>sha256[]addprefix[tc-]]
|
||||||
\function tf.get-tagpicker-focus-selector() [<tf.tagpicker-dropdown-class>addprefix[.]] .tc-popup-handle +[join[ ]]
|
\function tf.get-tagpicker-focus-selector() [<tf.tagpicker-dropdown-class>addprefix[.]] .tc-popup-handle :and[join[ ]]
|
||||||
|
|
||||||
<!-- clean up temporary tiddlers, so the next "pick" starts with a clean input -->
|
<!-- clean up temporary tiddlers, so the next "pick" starts with a clean input -->
|
||||||
<!-- This could probably be optimized / removed if we would use different temp-tiddlers
|
<!-- This could probably be optimized / removed if we would use different temp-tiddlers
|
||||||
@ -30,7 +30,7 @@ second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>
|
|||||||
<!-- trigger __toggle tag__ by keyboard -->
|
<!-- trigger __toggle tag__ by keyboard -->
|
||||||
\procedure add-tag-actions()
|
\procedure add-tag-actions()
|
||||||
<$let tag=<<_tf.getTag>> >
|
<$let tag=<<_tf.getTag>> >
|
||||||
<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter='+[toggle<tag>trim[]]'/>
|
<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=':and[toggle<tag>trim[]]'/>
|
||||||
<%if [<tag>] :intersection[<saveTiddler>get<tagField>enlist-input[]] %>
|
<%if [<tag>] :intersection[<saveTiddler>get<tagField>enlist-input[]] %>
|
||||||
<!-- tag has been removed - do nothing -->
|
<!-- tag has been removed - do nothing -->
|
||||||
<%else%>
|
<%else%>
|
||||||
@ -46,7 +46,7 @@ second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>
|
|||||||
The second ESC tries to close the "draft tiddler"
|
The second ESC tries to close the "draft tiddler"
|
||||||
-->
|
-->
|
||||||
\procedure clear-tags-actions-inner()
|
\procedure clear-tags-actions-inner()
|
||||||
<%if [<storeTitle>has[text]] ~[<newTagNameTiddler>has[text]] %>
|
<%if [<storeTitle>has[text]] :else[<newTagNameTiddler>has[text]] %>
|
||||||
<<delete-tag-state-tiddlers>>
|
<<delete-tag-state-tiddlers>>
|
||||||
<%else%>
|
<%else%>
|
||||||
<<cancel-delete-tiddler-actions "cancel">>
|
<<cancel-delete-tiddler-actions "cancel">>
|
||||||
@ -90,7 +90,7 @@ The second ESC tries to close the "draft tiddler"
|
|||||||
<!-- tf.get-tagpicker-focus-selector has to be resolved for $:/core/ui/TagPickerTagTemplate,
|
<!-- tf.get-tagpicker-focus-selector has to be resolved for $:/core/ui/TagPickerTagTemplate,
|
||||||
othwerwise qualify in tf.tagpicker-dropdown-id causes problems -->
|
othwerwise qualify in tf.tagpicker-dropdown-id causes problems -->
|
||||||
<$let currentTiddler=<<tag>>
|
<$let currentTiddler=<<tag>>
|
||||||
button-classes=`tc-btn-invisible ${[<tag>addsuffix<suffix>] -[<tagSelectionState>get[text]] :then[[]] ~tc-tag-button-selected }$`
|
button-classes=`tc-btn-invisible ${[<tag>addsuffix<suffix>] :except[<tagSelectionState>get[text]] :then[[]] ~tc-tag-button-selected }$`
|
||||||
get-tagpicker-focus-selector=`${[<tf.get-tagpicker-focus-selector>]}$`
|
get-tagpicker-focus-selector=`${[<tf.get-tagpicker-focus-selector>]}$`
|
||||||
>
|
>
|
||||||
{{||$:/core/ui/TagPickerTagTemplate}}
|
{{||$:/core/ui/TagPickerTagTemplate}}
|
||||||
@ -102,10 +102,10 @@ The second ESC tries to close the "draft tiddler"
|
|||||||
|
|
||||||
<!-- tag-picker-inner is the main function -->
|
<!-- tag-picker-inner is the main function -->
|
||||||
\procedure tag-picker-inner()
|
\procedure tag-picker-inner()
|
||||||
<div class={{{ [[tc-edit-add-tag]] [<tf.tagpicker-dropdown-class>] +[join[ ]] }}}>
|
<div class={{{ [[tc-edit-add-tag]] [<tf.tagpicker-dropdown-class>] :and[join[ ]] }}}>
|
||||||
<div class="tc-edit-add-tag-ui">
|
<div class="tc-edit-add-tag-ui">
|
||||||
<span class="tc-add-tag-name tc-small-gap-right">
|
<span class="tc-add-tag-name tc-small-gap-right">
|
||||||
<$macrocall $name="keyboard-driven-input"
|
<$transclude $variable="keyboard-driven-input"
|
||||||
tiddler=<<newTagNameTiddler>>
|
tiddler=<<newTagNameTiddler>>
|
||||||
storeTitle=<<storeTitle>>
|
storeTitle=<<storeTitle>>
|
||||||
refreshTitle=<<refreshTitle>>
|
refreshTitle=<<refreshTitle>>
|
||||||
@ -117,7 +117,7 @@ The second ESC tries to close the "draft tiddler"
|
|||||||
focusPopup=<<tf.tagpicker-dropdown-id>>
|
focusPopup=<<tf.tagpicker-dropdown-id>>
|
||||||
class="tc-edit-texteditor tc-popup-handle"
|
class="tc-edit-texteditor tc-popup-handle"
|
||||||
tabindex=<<tabIndex>>
|
tabindex=<<tabIndex>>
|
||||||
focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}}
|
focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] :else[[false]] }}}
|
||||||
filterMinLength={{$:/config/Tags/MinLength}}
|
filterMinLength={{$:/config/Tags/MinLength}}
|
||||||
cancelPopups=<<cancelPopups>>
|
cancelPopups=<<cancelPopups>>
|
||||||
configTiddlerFilter="[[$:/core/macros/tag-picker]]"
|
configTiddlerFilter="[[$:/core/macros/tag-picker]]"
|
||||||
@ -146,9 +146,9 @@ The second ESC tries to close the "draft tiddler"
|
|||||||
<div class="tc-block-dropdown-wrapper">
|
<div class="tc-block-dropdown-wrapper">
|
||||||
<%if [<tf.tagpicker-dropdown-id>has[text]] %>
|
<%if [<tf.tagpicker-dropdown-id>has[text]] %>
|
||||||
<div class="tc-block-dropdown tc-block-tags-dropdown">
|
<div class="tc-block-dropdown tc-block-tags-dropdown">
|
||||||
<$macrocall $name="tag-picker-listTags" filter=<<nonSystemTagsFilter>> suffix="-primaryList" empty={{$:/language/EditTemplate/Tags/EmptyMessage}}/>
|
<$transclude $variable="tag-picker-listTags" filter=<<nonSystemTagsFilter>> suffix="-primaryList" empty={{$:/language/EditTemplate/Tags/EmptyMessage}}/>
|
||||||
<hr>
|
<hr>
|
||||||
<$macrocall $name="tag-picker-listTags" filter=<<systemTagsFilter>> suffix="-secondaryList" empty={{$:/language/EditTemplate/Tags/EmptyMessage/System}}/>
|
<$transclude $variable="tag-picker-listTags" filter=<<systemTagsFilter>> suffix="-secondaryList" empty={{$:/language/EditTemplate/Tags/EmptyMessage/System}}/>
|
||||||
</div>
|
</div>
|
||||||
<%endif%>
|
<%endif%>
|
||||||
</div>
|
</div>
|
||||||
@ -161,7 +161,7 @@ The second ESC tries to close the "draft tiddler"
|
|||||||
\function _tf.getUserInput() [<storeTitle>get[text]]
|
\function _tf.getUserInput() [<storeTitle>get[text]]
|
||||||
\function _tf.getTag() [<newTagNameTiddler>get[text]]
|
\function _tf.getTag() [<newTagNameTiddler>get[text]]
|
||||||
<!-- Use this function if tag-picker is a stand alone macro. Otherwise use "newTagNameTiddler" defined for fieldmangler in EditTemplate -->
|
<!-- Use this function if tag-picker is a stand alone macro. Otherwise use "newTagNameTiddler" defined for fieldmangler in EditTemplate -->
|
||||||
\function _tf.makeTagNameTiddler() [[$:/temp/NewTagName]] [<tagField>!match[tags]] +[join[/]] [<qualify>] +[join[]]
|
\function _tf.makeTagNameTiddler() [[$:/temp/NewTagName]] [<tagField>!match[tags]] :and[join[/]] [<qualify>] :and[join[]]
|
||||||
|
|
||||||
<!-- keep those variables because they may "bleed" into macros using old syntax -->
|
<!-- keep those variables because they may "bleed" into macros using old syntax -->
|
||||||
<!-- "nonSystemTagsFilter", "systemTagsFilter" __need to be the same__ as fields: "first-search-filter", "second-search-filter" -->
|
<!-- "nonSystemTagsFilter", "systemTagsFilter" __need to be the same__ as fields: "first-search-filter", "second-search-filter" -->
|
||||||
@ -174,10 +174,10 @@ The second ESC tries to close the "draft tiddler"
|
|||||||
saveTiddler={{{ [<tiddler>is[blank]then<currentTiddler>else<tiddler>] }}}
|
saveTiddler={{{ [<tiddler>is[blank]then<currentTiddler>else<tiddler>] }}}
|
||||||
|
|
||||||
newTagNameTiddler={{{ [[newTagNameTiddler]is[variable]then<newTagNameTiddler>] :else[<_tf.makeTagNameTiddler>] }}}
|
newTagNameTiddler={{{ [[newTagNameTiddler]is[variable]then<newTagNameTiddler>] :else[<_tf.makeTagNameTiddler>] }}}
|
||||||
storeTitle={{{ [[$:/temp/NewTagName/input]] [<tagField>!match[tags]] +[join[/]] [<qualify>] +[join[]] }}}
|
storeTitle={{{ [[$:/temp/NewTagName/input]] [<tagField>!match[tags]] :and[join[/]] [<qualify>] :and[join[]] }}}
|
||||||
|
|
||||||
newTagNameSelectionTiddlerQualified=<<qualify "$:/temp/NewTagName/selected-item">>
|
newTagNameSelectionTiddlerQualified=<<qualify "$:/temp/NewTagName/selected-item">>
|
||||||
tagSelectionState={{{ [<newTagNameSelectionTiddler>!match[]] ~[<newTagNameSelectionTiddlerQualified>] }}}
|
tagSelectionState={{{ [<newTagNameSelectionTiddler>!match[]] :else[<newTagNameSelectionTiddlerQualified>] }}}
|
||||||
|
|
||||||
refreshTitle=<<qualify "$:/temp/NewTagName/refresh">>
|
refreshTitle=<<qualify "$:/temp/NewTagName/refresh">>
|
||||||
|
|
||||||
@ -186,6 +186,6 @@ The second ESC tries to close the "draft tiddler"
|
|||||||
|
|
||||||
cancelPopups="yes"
|
cancelPopups="yes"
|
||||||
>
|
>
|
||||||
<$macrocall $name="tag-picker-inner"/>
|
<$transclude $variable="tag-picker-inner"/>
|
||||||
</$let>
|
</$let>
|
||||||
\end
|
\end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
title: $:/core/macros/testcase
|
title: $:/core/macros/testcase
|
||||||
tags: $:/tags/Macro $:/tags/Global
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
created: 20141212105914482
|
|
||||||
modified: 20141212110330815
|
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
title: $:/core/macros/timeline
|
title: $:/core/macros/timeline
|
||||||
|
|
||||||
<!-- Override one or both of the following two macros with a global or local macro of the same name
|
<!-- Override one or both of the following two macros with a global or local macro of the same name
|
||||||
if you need to change how titles are displayed on a timeline -->
|
if you need to change how titles are displayed on a timeline -->
|
||||||
|
|
||||||
\define timeline-title() <$view field="title"/>
|
\procedure timeline-title() <$view field="title"/>
|
||||||
\define timeline-link() <$link to={{!!title}}><<timeline-title>></$link>
|
\procedure timeline-link() <$link to={{!!title}}><<timeline-title>></$link>
|
||||||
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
|
\procedure timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<div class="tc-timeline">
|
<div class="tc-timeline">
|
||||||
<$list filter="[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]">
|
<$set name="tv-tids" filter=`[!is[system]$(subfilter)$has<dateField>!sort<dateField>limit<limit>]`>
|
||||||
|
<$list filter="[enlist<tv-tids>eachday<dateField>]">
|
||||||
<div class="tc-menu-list-item">
|
<div class="tc-menu-list-item">
|
||||||
<$view field="$dateField$" format="date" template="$format$"/>
|
<$view field=<<dateField>> format="date" template=<<format>>/>
|
||||||
<$list filter="[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]">
|
<$list filter=`[enlist<tv-tids>sameday:$(dateField)${!!$(dateField)$}]`>
|
||||||
<div class="tc-menu-list-subitem">
|
<div class="tc-menu-list-subitem">
|
||||||
<<timeline-link>>
|
<<timeline-link>>
|
||||||
</div>
|
</div>
|
||||||
</$list>
|
</$list>
|
||||||
</div>
|
</div>
|
||||||
</$list>
|
</$list>
|
||||||
|
</$set>
|
||||||
</div>
|
</div>
|
||||||
\end
|
\end
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
title: $:/core/macros/toc
|
title: $:/core/macros/toc
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
|
|
||||||
\define toc-open-icon() $:/core/images/down-arrow
|
\define toc-open-icon() $:/core/images/down-arrow
|
||||||
\define toc-closed-icon() $:/core/images/right-arrow
|
\define toc-closed-icon() $:/core/images/right-arrow
|
||||||
|
|
||||||
@ -37,7 +36,10 @@ tags: $:/tags/Macro
|
|||||||
\end
|
\end
|
||||||
|
|
||||||
\define toc(tag,sort:"",itemClassFilter:"", exclude)
|
\define toc(tag,sort:"",itemClassFilter:"", exclude)
|
||||||
<$macrocall $name="toc-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>>/>
|
\whitespace trim
|
||||||
|
<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}} >
|
||||||
|
<$macrocall $name="toc-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>>/>
|
||||||
|
</$let>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define toc-linked-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
|
\define toc-linked-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
|
||||||
@ -99,7 +101,7 @@ tags: $:/tags/Macro
|
|||||||
|
|
||||||
\define toc-expandable(tag,sort:"",itemClassFilter:"",exclude,path)
|
\define toc-expandable(tag,sort:"",itemClassFilter:"",exclude,path)
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$let tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
|
<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}} tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
|
||||||
<$set name="excluded" filter="[subfilter<__exclude__>] [<__tag__>]">
|
<$set name="excluded" filter="[subfilter<__exclude__>] [<__tag__>]">
|
||||||
<ol class="tc-toc toc-expandable">
|
<ol class="tc-toc toc-expandable">
|
||||||
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]""">
|
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]""">
|
||||||
@ -118,7 +120,7 @@ tags: $:/tags/Macro
|
|||||||
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item" >
|
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item" >
|
||||||
<li class=<<toc-item-class>>>
|
<li class=<<toc-item-class>>>
|
||||||
<$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>
|
<$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>
|
||||||
<$list filter="[all[current]tagging[]$sort$limit[1]] -[subfilter<__exclude__>]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
|
<$list filter="[all[current]tagging[]$sort$] -[subfilter<__exclude__>] +[limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
|
||||||
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
|
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
|
||||||
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
|
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
|
||||||
<$transclude tiddler=<<toc-closed-icon>> />
|
<$transclude tiddler=<<toc-closed-icon>> />
|
||||||
@ -145,7 +147,7 @@ tags: $:/tags/Macro
|
|||||||
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
|
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
|
||||||
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
|
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
|
||||||
<li class=<<toc-item-class>>>
|
<li class=<<toc-item-class>>>
|
||||||
<$list filter="[all[current]tagging[]$sort$limit[1]] -[subfilter<__exclude__>]" variable="ignore" emptyMessage="""<$button class="tc-btn-invisible">{{$:/core/images/blank}}</$button><span class="toc-item-muted"><<toc-caption>></span>""">
|
<$list filter="[all[current]tagging[]$sort$] -[subfilter<__exclude__>] +[limit[1]]" variable="ignore" emptyMessage="""<$button class="tc-btn-invisible">{{$:/core/images/blank}}</$button><span class="toc-item-muted"><<toc-caption>></span>""">
|
||||||
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
|
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
|
||||||
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
|
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
|
||||||
<$transclude tiddler=<<toc-closed-icon>> />
|
<$transclude tiddler=<<toc-closed-icon>> />
|
||||||
@ -173,7 +175,7 @@ tags: $:/tags/Macro
|
|||||||
|
|
||||||
\define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path)
|
\define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path)
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$let tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
|
<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}} tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
|
||||||
<$set name="excluded" filter="[subfilter<__exclude__>] [<__tag__>]">
|
<$set name="excluded" filter="[subfilter<__exclude__>] [<__tag__>]">
|
||||||
<ol class="tc-toc toc-selective-expandable">
|
<ol class="tc-toc toc-selective-expandable">
|
||||||
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]""">
|
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]""">
|
||||||
@ -188,31 +190,35 @@ tags: $:/tags/Macro
|
|||||||
|
|
||||||
\define toc-tabbed-external-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"",exclude)
|
\define toc-tabbed-external-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"",exclude)
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>
|
<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}}>
|
||||||
<div class="tc-tabbed-table-of-contents">
|
<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>
|
||||||
<$linkcatcher to=<<__selectedTiddler__>>>
|
<div class="tc-tabbed-table-of-contents">
|
||||||
<div class="tc-table-of-contents">
|
<$linkcatcher to=<<__selectedTiddler__>>>
|
||||||
<$macrocall $name="toc-selective-expandable" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter="[all[current]] -[<__selectedTiddler__>get[text]]" exclude=<<__exclude__>>/>
|
<div class="tc-table-of-contents">
|
||||||
|
<$macrocall $name="toc-selective-expandable" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter="[all[current]] -[<__selectedTiddler__>get[text]]" exclude=<<__exclude__>>/>
|
||||||
|
</div>
|
||||||
|
</$linkcatcher>
|
||||||
|
<div class="tc-tabbed-table-of-contents-content">
|
||||||
|
<$reveal stateTitle=<<__selectedTiddler__>> type="nomatch" text="">
|
||||||
|
<$transclude mode="block" tiddler=<<__template__>>>
|
||||||
|
<h1><<toc-caption>></h1>
|
||||||
|
<$transclude mode="block">$missingText$</$transclude>
|
||||||
|
</$transclude>
|
||||||
|
</$reveal>
|
||||||
|
<$reveal stateTitle=<<__selectedTiddler__>> type="match" text="">
|
||||||
|
$unselectedText$
|
||||||
|
</$reveal>
|
||||||
</div>
|
</div>
|
||||||
</$linkcatcher>
|
|
||||||
<div class="tc-tabbed-table-of-contents-content">
|
|
||||||
<$reveal stateTitle=<<__selectedTiddler__>> type="nomatch" text="">
|
|
||||||
<$transclude mode="block" tiddler=<<__template__>>>
|
|
||||||
<h1><<toc-caption>></h1>
|
|
||||||
<$transclude mode="block">$missingText$</$transclude>
|
|
||||||
</$transclude>
|
|
||||||
</$reveal>
|
|
||||||
<$reveal stateTitle=<<__selectedTiddler__>> type="match" text="">
|
|
||||||
$unselectedText$
|
|
||||||
</$reveal>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</$tiddler>
|
||||||
</$tiddler>
|
</$let>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define toc-tabbed-internal-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"",exclude)
|
\define toc-tabbed-internal-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"",exclude)
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$linkcatcher to=<<__selectedTiddler__>>>
|
<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}}>
|
||||||
<$macrocall $name="toc-tabbed-external-nav" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>> exclude=<<__exclude__>> />
|
<$linkcatcher to=<<__selectedTiddler__>>>
|
||||||
</$linkcatcher>
|
<$macrocall $name="toc-tabbed-external-nav" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>> exclude=<<__exclude__>> />
|
||||||
|
</$linkcatcher>
|
||||||
|
</$let>
|
||||||
\end
|
\end
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
title: $:/core/macros/translink
|
title: $:/core/macros/translink
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\define translink(title,mode:"block")
|
\procedure translink(title,mode:"block")
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list filter="[<__mode__>match[block]]">
|
<%if [<mode>match[block]] %>
|
||||||
<div class="tc-translink">
|
<div class="tc-translink">
|
||||||
<div>
|
<div>
|
||||||
<$link to="""$title$""">
|
<$link to=<<title>>>
|
||||||
<h1><$text text="""$title$"""/></h1>
|
<h1><$text text=<<title>>/></h1>
|
||||||
</$link>
|
</$link>
|
||||||
<$transclude tiddler="""$title$""" mode="block">
|
<$transclude tiddler=<<title>> mode="block">
|
||||||
<$set name="currentTiddler" value="""$title$"""><$transclude tiddler="$:/language/MissingTiddler/Hint"/></$set>
|
<$set name="currentTiddler" value=<<title>>><$transclude tiddler="$:/language/MissingTiddler/Hint"/></$set>
|
||||||
</$transclude>
|
</$transclude>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<__mode__>match[inline]]">
|
<%if [<mode>match[inline]] %>
|
||||||
<span class="tc-translink">
|
<span class="tc-translink">
|
||||||
<$link to="""$title$""">
|
<$link to=<<title>> class="tc-tiny-gap-right">
|
||||||
<$text text="""$title$"""/>
|
<$text text=<<title>>/>
|
||||||
</$link>
|
</$link>
|
||||||
 (<$transclude tiddler="""$title$""" mode="inline">
|
(<$transclude tiddler=<<title>> mode="inline">
|
||||||
<$set name="currentTiddler" value="""$title$"""><$transclude tiddler="$:/language/MissingTiddler/Hint"/></$set>
|
<$set name="currentTiddler" value=<<title>>><$transclude tiddler="$:/language/MissingTiddler/Hint"/></$set>
|
||||||
</$transclude>)
|
</$transclude>)
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
\end
|
\end
|
||||||
|
@ -1,62 +1,58 @@
|
|||||||
title: $:/core/macros/tree
|
title: $:/core/macros/tree
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro
|
||||||
|
|
||||||
\define leaf-link(full-title,chunk,separator: "/")
|
\procedure leaf-link(full-title,chunk,separator: "/")
|
||||||
<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>
|
<$link to=<<full-title>>><$text text=<<chunk>>/></$link>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define leaf-node(prefix,chunk)
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
\procedure leaf-node(prefix,chunk)
|
||||||
<li>
|
<li>
|
||||||
<$list filter="[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]" variable="full-title">
|
<$list filter="[<prefix>addsuffix<chunk>is[shadow]] [<prefix>addsuffix<chunk>is[tiddler]]" variable="full-title">
|
||||||
<$list filter="[<full-title>removeprefix<__prefix__>]" variable="chunk">
|
<$list filter="[<full-title>removeprefix<prefix>]" variable="chunk">
|
||||||
<span>{{$:/core/images/file}}</span> <$macrocall $name="leaf-link" full-title=<<full-title>> chunk=<<chunk>>/>
|
<span class="tc-tiny-gap-right">{{$:/core/images/file}}</span><$transclude $variable="leaf-link" full-title=<<full-title>> chunk=<<chunk>>/>
|
||||||
</$list>
|
</$list>
|
||||||
</$list>
|
</$list>
|
||||||
</li>
|
</li>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define branch-node(prefix,chunk,separator: "/")
|
\procedure branch-node(prefix,chunk,separator: "/")
|
||||||
\whitespace trim
|
|
||||||
<li>
|
<li>
|
||||||
<$set name="reveal-state" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>
|
<$set name="reveal-state" value={{{ [[$:/state/tree/]addsuffix<prefix>addsuffix<chunk>] }}}>
|
||||||
<$reveal type="nomatch" stateTitle=<<reveal-state>> text="show">
|
<$reveal type="nomatch" stateTitle=<<reveal-state>> text="show">
|
||||||
<$button setTitle=<<reveal-state>> setTo="show" class="tc-btn-invisible">
|
<$button setTitle=<<reveal-state>> setTo="show" class="tc-btn-invisible">
|
||||||
{{$:/core/images/folder}} <$text text=<<__chunk__>>/>
|
{{$:/core/images/folder}} <$text text=<<chunk>>/>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
<$reveal type="match" stateTitle=<<reveal-state>> text="show">
|
<$reveal type="match" stateTitle=<<reveal-state>> text="show">
|
||||||
<$button setTitle=<<reveal-state>> setTo="hide" class="tc-btn-invisible">
|
<$button setTitle=<<reveal-state>> setTo="hide" class="tc-btn-invisible">
|
||||||
{{$:/core/images/folder}} <$text text=<<__chunk__>>/>
|
{{$:/core/images/folder}} <$text text=<<chunk>>/>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
 
|
<span class="tc-tiny-gap-left">(<$count filter="[all[shadows+tiddlers]removeprefix<prefix>removeprefix<chunk>] -[<prefix>addsuffix<chunk>]"/>)</span>
|
||||||
<span>(<$count filter="[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]"/>)</span>
|
|
||||||
<$reveal type="match" stateTitle=<<reveal-state>> text="show">
|
<$reveal type="match" stateTitle=<<reveal-state>> text="show">
|
||||||
<$macrocall $name="tree-node" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>
|
<$transclude $variable="tree-node" prefix={{{ [<prefix>addsuffix<chunk>] }}} separator=<<separator>>/>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
</$set>
|
</$set>
|
||||||
</li>
|
</li>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define tree-node(prefix,separator: "/")
|
\procedure tree-node(prefix,separator: "/")
|
||||||
\whitespace trim
|
|
||||||
<ol>
|
<ol>
|
||||||
<$list filter="[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]" variable="chunk">
|
<$list filter="[all[shadows+tiddlers]removeprefix<prefix>splitbefore<separator>sort[]!suffix<separator>]" variable="chunk">
|
||||||
<$macrocall $name="leaf-node" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>
|
<$transclude $variable="leaf-node" prefix=<<prefix>> chunk=<<chunk>> separator=<<separator>>/>
|
||||||
</$list>
|
</$list>
|
||||||
<$list filter="[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]" variable="chunk">
|
<$list filter="[all[shadows+tiddlers]removeprefix<prefix>splitbefore<separator>sort[]suffix<separator>]" variable="chunk">
|
||||||
<$macrocall $name="branch-node" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>
|
<$transclude $variable="branch-node" prefix=<<prefix>> chunk=<<chunk>> separator=<<separator>>/>
|
||||||
</$list>
|
</$list>
|
||||||
</ol>
|
</ol>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define tree(prefix: "$:/",separator: "/")
|
\procedure tree(prefix: "$:/",separator: "/")
|
||||||
\whitespace trim
|
|
||||||
<div class="tc-tree">
|
<div class="tc-tree">
|
||||||
<span><$text text=<<__prefix__>>/></span>
|
<span><$text text=<<prefix>>/></span>
|
||||||
<div>
|
<div>
|
||||||
<$macrocall $name="tree-node" prefix=<<__prefix__>> separator=<<__separator__>>/>
|
<$transclude $variable="tree-node" prefix=<<prefix>> separator=<<separator>>/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
\end
|
\end
|
||||||
|
@ -3,7 +3,7 @@ title: $:/snippets/paletteswitcher
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$linkcatcher to="$:/palette">
|
<$linkcatcher to="$:/palette">
|
||||||
<div class="tc-chooser">
|
<div class="tc-chooser">
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Palette]sort[name]]">
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Palette]!is[draft]sort[name]]">
|
||||||
<$set name="cls" filter="[all[current]prefix{$:/palette}]" value="tc-chooser-item tc-chosen" emptyValue="tc-chooser-item">
|
<$set name="cls" filter="[all[current]prefix{$:/palette}]" value="tc-chooser-item tc-chosen" emptyValue="tc-chooser-item">
|
||||||
<div class=<<cls>>>
|
<div class=<<cls>>>
|
||||||
<$link to={{!!title}}>
|
<$link to={{!!title}}>
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
title: $:/tags/ViewTemplateBodyFilter
|
title: $:/tags/ViewTemplateBodyFilter
|
||||||
list: $:/config/ViewTemplateBodyFilters/testcase $:/config/ViewTemplateBodyFilters/hide-body $:/config/ViewTemplateBodyFilters/code-body $:/config/ViewTemplateBodyFilters/stylesheet $:/config/ViewTemplateBodyFilters/core-ui-advanced-search $:/config/ViewTemplateBodyFilters/core-ui-tags $:/config/ViewTemplateBodyFilters/import $:/config/ViewTemplateBodyFilters/plugin $:/config/ViewTemplateBodyFilters/system $:/config/ViewTemplateBodyFilters/default
|
list: $:/config/ViewTemplateBodyFilters/testcase $:/config/ViewTemplateBodyFilters/hide-body $:/config/ViewTemplateBodyFilters/code-body $:/config/ViewTemplateBodyFilters/stylesheet $:/config/ViewTemplateBodyFilters/core-ui-advanced-search $:/config/ViewTemplateBodyFilters/core-ui-tags $:/config/ViewTemplateBodyFilters/import $:/config/ViewTemplateBodyFilters/plugin $:/config/ViewTemplateBodyFilters/html $:/config/ViewTemplateBodyFilters/system $:/config/ViewTemplateBodyFilters/default
|
||||||
|
9
editions/dev/tiddlers/$__github-ribbon.tid
Normal file
9
editions/dev/tiddlers/$__github-ribbon.tid
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
code-body: yes
|
||||||
|
created: 20241205094051389
|
||||||
|
modified: 20241205094051389
|
||||||
|
tags: $:/tags/PageTemplate
|
||||||
|
title: $:/github-ribbon
|
||||||
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
|
\whitespace trim
|
||||||
|
<$transclude $tiddler="$:/plugins/tiddlywiki/github-fork-ribbon/template" top="30px" fixed=fixed color="green"/>
|
@ -1,114 +0,0 @@
|
|||||||
created: 20150117152607000
|
|
||||||
modified: 201804111739
|
|
||||||
tags: $:/tags/Macro
|
|
||||||
title: $:/editions/dev/doc-macros
|
|
||||||
type: text/vnd.tiddlywiki
|
|
||||||
|
|
||||||
\define .concat(1,2,3,4,5) $1$$2$$3$$4$$5$
|
|
||||||
|
|
||||||
\define .def(_) <dfn class="doc-def">$_$</dfn>
|
|
||||||
\define .em(_) <em class="doc-em">$_$</em>
|
|
||||||
\define .strong(_) <strong class="doc-strong">$_$</strong>
|
|
||||||
\define .place(_) <code class="doc-place">$_$</code>
|
|
||||||
\define .word(_) "$_$"
|
|
||||||
|
|
||||||
\define .preamble(_) :.doc-preamble $_$
|
|
||||||
\define .note(_)
|
|
||||||
@@.doc-note
|
|
||||||
;Note
|
|
||||||
: $_$
|
|
||||||
@@
|
|
||||||
\end
|
|
||||||
|
|
||||||
\define .tid(_) <code class="doc-tiddler">$_$</code>
|
|
||||||
\define .tag(_) <code class="doc-tag">$_$</code>
|
|
||||||
\define .field(_) <code class="doc-field">$_$</code>
|
|
||||||
\define .value(_) <code class="doc-value">$_$</code>
|
|
||||||
\define .op(_) <code class="doc-operator">$_$</code>
|
|
||||||
\define .var(_) <code class="doc-var">$_$</code>
|
|
||||||
\define .wid(_) <code class="doc-widget">$$_$</code>
|
|
||||||
\define .attr(_) <code class="doc-attr">$_$</code>
|
|
||||||
\define .param(_) <code class="doc-param">$_$</code>
|
|
||||||
|
|
||||||
\define .mtitle(_) $_$ Macro
|
|
||||||
\define .otitle(_) $_$ Operator
|
|
||||||
\define .vtitle(_) $_$ Variable
|
|
||||||
|
|
||||||
\define .link(_,to) <$link to="$to$">$_$</$link>
|
|
||||||
\define .clink(_,to) <span class="doc-clink"><<.link """$_$""" "$to$">></span>
|
|
||||||
\define .dlink(_,to) <$macrocall $name=".link" _=<<.def "$_$">> to="$to$">/>
|
|
||||||
\define .dlink-ex(_,to) <a href="$to$" class="tc-tiddlylink-external" target="_blank" rel="noopener noreferrer"><<.def "$_$">></a>
|
|
||||||
\define .flink(to) <$macrocall $name=".link" _=<<.field {{$to$!!caption}}>> to="$to$"/>
|
|
||||||
\define .mlink(_,to) <$macrocall $name=".link" _=<<.var "$_$">> to=<<.mtitle "$_$">>/>
|
|
||||||
\define .mlink2(_,to) <$macrocall $name=".link" _=<<.var "$_$">> to="$to$"/>
|
|
||||||
\define .olink(_) <$macrocall $name=".link" _=<<.op "$_$">> to=<<.otitle "$_$">>/>
|
|
||||||
\define .olink2(_,to) <$macrocall $name=".link" _=<<.op "$_$">> to=<<.otitle "$to$">>/>
|
|
||||||
\define .vlink(_,to) <$macrocall $name=".link" _=<<.var "$_$">> to=<<.vtitle "$_$">>/>
|
|
||||||
\define .vlink2(_,to) <$macrocall $name=".link" _=<<.var "$_$">> to="$to$"/>
|
|
||||||
\define .wlink(to) <$macrocall $name=".link" _=<<.wid {{$to$!!caption}}>> to="$to$"/>
|
|
||||||
\define .wlink2(_,to) <$macrocall $name=".link" _="$_$" to="$to$"/>
|
|
||||||
|
|
||||||
\define .key(_) <span class="doc-key">$_$</span>
|
|
||||||
\define .combokey(_) <$macrocall $name=".if" cond="$_$" then=<<.key '$_$'>>/>
|
|
||||||
\define .keycombo(1,2,3,4) <<.combokey "$1$">><<.if "$2$" +>><<.combokey "$2$">><<.if "$3$" +>><<.combokey "$3$">><<.if "$4$" +>><<.combokey "$4$">>
|
|
||||||
|
|
||||||
\define .tab(_) <span class="doc-tab">{{$_$!!caption}}</span>
|
|
||||||
\define .sidebar-tab(_) <<.tab "$:/core/ui/SideBar/$_$">>
|
|
||||||
\define .more-tab(_) <<.tab "$:/core/ui/MoreSideBar/$_$">>
|
|
||||||
\define .info-tab(_) <<.tab "$:/core/ui/TiddlerInfo/$_$">>
|
|
||||||
\define .controlpanel-tab(_) <<.tab "$:/core/ui/ControlPanel/$_$">>
|
|
||||||
\define .advancedsearch-tab(_) <<.tab "$:/core/ui/AdvancedSearch/$_$">>
|
|
||||||
\define .toc-tab() <<.tab "TableOfContents">>
|
|
||||||
\define .example-tab(_) <span class="doc-tab">$_$</span>
|
|
||||||
|
|
||||||
\define .button(_) <span class="doc-button">{{$:/core/ui/Buttons/$_$!!caption}}</span>
|
|
||||||
|
|
||||||
\define .tip(_) <div class="doc-icon-block"><div class="doc-block-icon">{{$:/core/images/tip}}</div> $_$</div>
|
|
||||||
\define .warning(_) <div class="doc-icon-block"><div class="doc-block-icon">{{$:/core/images/warning}}</div> $_$</div>
|
|
||||||
|
|
||||||
\define .state-prefix() $:/state/editions/tw5.com/
|
|
||||||
|
|
||||||
\define .lorem()
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
|
||||||
\end
|
|
||||||
|
|
||||||
\define .toc-lorem()
|
|
||||||
This is an example tiddler. See [[Table-of-Contents Macros (Examples)]].
|
|
||||||
|
|
||||||
<<.lorem>>
|
|
||||||
\end
|
|
||||||
|
|
||||||
\define .example(n,eg,egvar:NO-SUCH-VAR)
|
|
||||||
<div class="doc-example">
|
|
||||||
<$reveal default="$egvar$" type="match" text="NO-SUCH-VAR">
|
|
||||||
<$macrocall $name="copy-to-clipboard-above-right" src="""$eg$"""/>
|
|
||||||
<$codeblock code="""$eg$"""/>
|
|
||||||
</$reveal>
|
|
||||||
<$reveal default="$egvar$" type="nomatch" text="NO-SUCH-VAR">
|
|
||||||
<!-- allow an example to contain """ -->
|
|
||||||
<$macrocall $name="copy-to-clipboard-above-right" src=<<$egvar$>>/>
|
|
||||||
<$codeblock code=<<$egvar$>>/>
|
|
||||||
</$reveal>
|
|
||||||
<$list filter="[title<.state-prefix>addsuffix{!!title}addsuffix[/]addsuffix[$n$]]" variable=".state">
|
|
||||||
<$reveal state=<<.state>> type="nomatch" text="show">
|
|
||||||
<dl>
|
|
||||||
<dd><$button set=<<.state>> setTo="show">Try it</$button></dd>
|
|
||||||
</dl>
|
|
||||||
</$reveal>
|
|
||||||
<$reveal state=<<.state>> type="match" text="show">
|
|
||||||
<dl>
|
|
||||||
<dd><$button set=<<.state>> setTo="">Hide</$button></dd>
|
|
||||||
</dl>
|
|
||||||
<blockquote class="doc-example-result">
|
|
||||||
<$reveal default="$egvar$" type="match" text="NO-SUCH-VAR">
|
|
||||||
$eg$
|
|
||||||
</$reveal>
|
|
||||||
<$reveal default="$egvar$" type="nomatch" text="NO-SUCH-VAR">
|
|
||||||
<<$egvar$>>
|
|
||||||
</$reveal>
|
|
||||||
</blockquote>
|
|
||||||
</$reveal>
|
|
||||||
</$list>
|
|
||||||
\end
|
|
||||||
|
|
||||||
<pre><$view field="text"/></pre>
|
|
@ -1,40 +0,0 @@
|
|||||||
created: 20150117152612000
|
|
||||||
modified: 20230325101137075
|
|
||||||
tags: $:/tags/Stylesheet
|
|
||||||
title: $:/editions/tw5.com/doc-styles
|
|
||||||
type: text/vnd.tiddlywiki
|
|
||||||
|
|
||||||
a.doc-from-version.tc-tiddlylink {
|
|
||||||
display: inline-block;
|
|
||||||
border-radius: 1em;
|
|
||||||
background: <<colour muted-foreground>>;
|
|
||||||
color: <<colour background>>;
|
|
||||||
fill: <<colour background>>;
|
|
||||||
padding: 0 0.4em;
|
|
||||||
font-size: 0.7em;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 1.5;
|
|
||||||
vertical-align: text-bottom;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.doc-deprecated-version.tc-tiddlylink {
|
|
||||||
display: inline-block;
|
|
||||||
border-radius: 1em;
|
|
||||||
background: red;
|
|
||||||
color: <<colour background>>;
|
|
||||||
fill: <<colour background>>;
|
|
||||||
padding: 0 0.4em;
|
|
||||||
font-size: 0.7em;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 1.5;
|
|
||||||
vertical-align: text-bottom;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-deprecated-version svg,
|
|
||||||
.doc-from-version svg {
|
|
||||||
width: 1em;
|
|
||||||
height: 1em;
|
|
||||||
vertical-align: text-bottom;
|
|
||||||
}
|
|
@ -1,3 +1,5 @@
|
|||||||
title: $:/_tw5.com-dev-styles
|
title: $:/_tw5.com-dev-styles
|
||||||
tags: $:/tags/Stylesheet
|
tags: $:/tags/Stylesheet
|
||||||
|
list-after: $:/editions/tw5.com/doc-styles
|
||||||
|
|
||||||
|
<!-- styles that are unique to the TW dev edition. If possible use $:/_tw_shared/styles or $:/editions/tw5.com/doc-styles -->
|
@ -1,14 +0,0 @@
|
|||||||
code-body: yes
|
|
||||||
created: 20161008085627406
|
|
||||||
modified: 20221007122259593
|
|
||||||
tags: $:/tags/Macro
|
|
||||||
title: $:/editions/tw5.com/version-macros
|
|
||||||
type: text/vnd.tiddlywiki
|
|
||||||
|
|
||||||
\define .from-version(version)
|
|
||||||
<$link to={{{ [<__version__>addprefix[Release ]] }}} class="doc-from-version">{{$:/core/images/warning}} New in: <$text text=<<__version__>>/></$link>
|
|
||||||
\end
|
|
||||||
|
|
||||||
\define .deprecated-since(version, superseded:"")
|
|
||||||
<$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Deprecated from v<$text text=<<__version__>>/></$link> <%if [<__superseded__>else[]!match[]] %>(see <$link to=<<__superseded__>>><$text text=<<__superseded__>>/></$link>)<%endif%>
|
|
||||||
\end
|
|
@ -33,7 +33,7 @@
|
|||||||
"de-AT",
|
"de-AT",
|
||||||
"de-DE",
|
"de-DE",
|
||||||
"el-GR",
|
"el-GR",
|
||||||
"en-PH",
|
"en-PH",
|
||||||
"en-US",
|
"en-US",
|
||||||
"es-ES",
|
"es-ES",
|
||||||
"fa-IR",
|
"fa-IR",
|
||||||
|
@ -1,33 +1,9 @@
|
|||||||
title: Translations
|
title: Translations
|
||||||
|
|
||||||
\define flag-title()
|
|
||||||
$(languagePluginTitle)$/icon
|
|
||||||
\end
|
|
||||||
|
|
||||||
TiddlyWiki is currently available in <$count filter="[[$:/languages/en-GB]] [plugin-type[language]sort[title]] -[[$:/languages/de-AT]]"/> languages:
|
TiddlyWiki is currently available in <$count filter="[[$:/languages/en-GB]] [plugin-type[language]sort[title]] -[[$:/languages/de-AT]]"/> languages:
|
||||||
|
|
||||||
<div class="tc-drop-down-language-chooser" style="font-size: 7px; line-height: 8px; -moz-columns:6; -webkit-columns:6; columns:6;">
|
<div style.height="400px" style.overflowY="auto">
|
||||||
<$list filter="[[$:/languages/en-GB]] [plugin-type[language]sort[title]] -[[$:/languages/de-AT]]">
|
{{$:/snippets/languageswitcher}}
|
||||||
<div class="tc-language-list">
|
|
||||||
<span class="tc-language-list-name tc-image-button">
|
|
||||||
<$set name="languagePluginTitle" value=<<currentTiddler>>>
|
|
||||||
<$transclude subtiddler=<<flag-title>>>
|
|
||||||
<$list filter="[all[current]field:title[$:/languages/en-GB]]">
|
|
||||||
<$transclude tiddler="$:/languages/en-GB/icon"/>
|
|
||||||
</$list>
|
|
||||||
</$transclude>
|
|
||||||
</$set>
|
|
||||||
<$view field="description">
|
|
||||||
<$view field="name">
|
|
||||||
<$view field="title"/>
|
|
||||||
</$view>
|
|
||||||
</$view>
|
|
||||||
<$view subtiddler="$:/language/ControlPanel/Basics/Language/Prompt">
|
|
||||||
<$view tiddler="$:/language/ControlPanel/Basics/Language/Prompt"/>
|
|
||||||
</$view>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</$list>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Find out how to [[Get Started]].
|
Find out how to [[Get Started]].
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
"de-DE",
|
"de-DE",
|
||||||
"el-GR",
|
"el-GR",
|
||||||
"en-US",
|
"en-US",
|
||||||
|
"en-PH",
|
||||||
"es-ES",
|
"es-ES",
|
||||||
"fa-IR",
|
"fa-IR",
|
||||||
"fr-FR",
|
"fr-FR",
|
||||||
@ -34,12 +35,15 @@
|
|||||||
"it-IT",
|
"it-IT",
|
||||||
"ja-JP",
|
"ja-JP",
|
||||||
"ko-KR",
|
"ko-KR",
|
||||||
|
"mk-MK",
|
||||||
"nl-NL",
|
"nl-NL",
|
||||||
"pa-IN",
|
"pa-IN",
|
||||||
|
"pl-PL",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
"pt-PT",
|
"pt-PT",
|
||||||
"ru-RU",
|
"ru-RU",
|
||||||
"sk-SK",
|
"sk-SK",
|
||||||
|
"sl-SI",
|
||||||
"sv-SE",
|
"sv-SE",
|
||||||
"zh-CN",
|
"zh-CN",
|
||||||
"zh-Hans",
|
"zh-Hans",
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
created: 20241008104504617
|
||||||
|
modified: 20241008105625074
|
||||||
|
tags: $:/tags/ViewTemplate/Subtitle
|
||||||
|
title: $:/config/ViewTemplateSubtitle/original-modified
|
||||||
|
|
||||||
|
<$view field="original-modified" format="date" template="(原文: YYYY年MM月DD日(ddd) 0hh:0mm)"/>
|
@ -0,0 +1,8 @@
|
|||||||
|
created: 20220219141117559
|
||||||
|
list-before: $:/config/ViewTemplateTitleFilters/default
|
||||||
|
modified: 20240929101800579
|
||||||
|
original-modified: 20220220192507247
|
||||||
|
tags: $:/tags/ViewTemplateTitleFilter
|
||||||
|
title: $:/config/ViewTemplateTitleFilters/fr-default
|
||||||
|
|
||||||
|
[has[ja-title]then[$:/core/ui/ViewTemplate/title/ja-default]]
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user