mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2026-01-24 11:54:41 +00:00
Compare commits
6 Commits
multi-wiki
...
social-med
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ede512e07f | ||
|
|
213a786632 | ||
|
|
fd40741a03 | ||
|
|
8f027758c4 | ||
|
|
bde20b0d93 | ||
|
|
6c0689a451 |
8
.eslintignore
Normal file
8
.eslintignore
Normal file
@@ -0,0 +1,8 @@
|
||||
# Ignore "third party" code whose style we will not change.
|
||||
/boot/sjcl.js
|
||||
/core/modules/utils/base64-utf8/base64-utf8.module.js
|
||||
/core/modules/utils/base64-utf8/base64-utf8.module.min.js
|
||||
/core/modules/utils/diff-match-patch/diff_match_patch.js
|
||||
/core/modules/utils/diff-match-patch/diff_match_patch_uncompressed.js
|
||||
/core/modules/utils/dom/csscolorparser.js
|
||||
/plugins/tiddlywiki/*/files/
|
||||
286
.eslintrc.yml
Normal file
286
.eslintrc.yml
Normal file
@@ -0,0 +1,286 @@
|
||||
env:
|
||||
browser: true
|
||||
commonjs: true
|
||||
es2021: true
|
||||
node: true
|
||||
extends: 'eslint:recommended'
|
||||
globals:
|
||||
"$tw": "writable" # temporary
|
||||
parserOptions:
|
||||
ecmaVersion: 5
|
||||
rules:
|
||||
array-bracket-newline: 'off'
|
||||
array-bracket-spacing: 'off'
|
||||
array-callback-return: 'off'
|
||||
array-element-newline: 'off'
|
||||
arrow-body-style: error
|
||||
arrow-parens:
|
||||
- error
|
||||
- as-needed
|
||||
arrow-spacing:
|
||||
- error
|
||||
- after: true
|
||||
before: true
|
||||
block-scoped-var: 'off'
|
||||
block-spacing: 'off'
|
||||
brace-style: 'off'
|
||||
callback-return: 'off'
|
||||
camelcase: 'off'
|
||||
capitalized-comments: 'off'
|
||||
class-methods-use-this: error
|
||||
comma-dangle: 'off'
|
||||
comma-spacing: 'off'
|
||||
comma-style: 'off'
|
||||
complexity: 'off'
|
||||
computed-property-spacing: 'off'
|
||||
consistent-return: 'off'
|
||||
consistent-this: 'off'
|
||||
curly: 'off'
|
||||
default-case: 'off'
|
||||
default-case-last: error
|
||||
default-param-last: error
|
||||
dot-location: 'off'
|
||||
dot-notation: 'off'
|
||||
eol-last: 'off'
|
||||
eqeqeq: 'off'
|
||||
func-call-spacing: 'off'
|
||||
func-name-matching: 'off'
|
||||
func-names: 'off'
|
||||
func-style: 'off'
|
||||
function-call-argument-newline: 'off'
|
||||
function-paren-newline: 'off'
|
||||
generator-star-spacing: error
|
||||
global-require: 'off'
|
||||
grouped-accessor-pairs: error
|
||||
guard-for-in: 'off'
|
||||
handle-callback-err: 'off'
|
||||
id-blacklist: error
|
||||
id-denylist: error
|
||||
id-length: 'off'
|
||||
id-match: error
|
||||
implicit-arrow-linebreak: error
|
||||
indent: 'off'
|
||||
indent-legacy: 'off'
|
||||
init-declarations: 'off'
|
||||
jsx-quotes: error
|
||||
key-spacing: 'off'
|
||||
keyword-spacing:
|
||||
- error
|
||||
- before: true
|
||||
after: false
|
||||
overrides:
|
||||
'case':
|
||||
after: true
|
||||
'do':
|
||||
'after': true
|
||||
'else':
|
||||
after: true
|
||||
'return':
|
||||
after: true
|
||||
'throw':
|
||||
after: true
|
||||
'try':
|
||||
after: true
|
||||
line-comment-position: 'off'
|
||||
linebreak-style: 'off'
|
||||
lines-around-comment: 'off'
|
||||
lines-around-directive: 'off'
|
||||
lines-between-class-members: error
|
||||
max-classes-per-file: error
|
||||
max-depth: 'off'
|
||||
max-len: 'off'
|
||||
max-lines: 'off'
|
||||
max-lines-per-function: 'off'
|
||||
max-nested-callbacks: error
|
||||
max-params: 'off'
|
||||
max-statements: 'off'
|
||||
max-statements-per-line: 'off'
|
||||
multiline-comment-style: 'off'
|
||||
multiline-ternary: 'off'
|
||||
new-parens: 'off'
|
||||
newline-after-var: 'off'
|
||||
newline-before-return: 'off'
|
||||
newline-per-chained-call: 'off'
|
||||
no-alert: 'off'
|
||||
no-array-constructor: 'off'
|
||||
no-await-in-loop: error
|
||||
no-bitwise: 'off'
|
||||
no-buffer-constructor: 'off'
|
||||
no-caller: error
|
||||
no-catch-shadow: 'off'
|
||||
no-confusing-arrow: error
|
||||
no-console: 'off'
|
||||
no-constant-condition:
|
||||
- error
|
||||
- checkLoops: false
|
||||
no-constructor-return: error
|
||||
no-continue: 'off'
|
||||
no-div-regex: 'off'
|
||||
no-duplicate-imports: error
|
||||
no-else-return: 'off'
|
||||
no-empty-function: 'off'
|
||||
no-eq-null: 'off'
|
||||
no-eval: 'off'
|
||||
no-extend-native: 'off'
|
||||
no-extra-bind: 'off'
|
||||
no-extra-label: 'off'
|
||||
no-extra-parens: 'off'
|
||||
no-floating-decimal: 'off'
|
||||
no-implicit-coercion:
|
||||
- error
|
||||
- boolean: false
|
||||
number: false
|
||||
string: false
|
||||
no-implicit-globals: 'off'
|
||||
no-implied-eval: error
|
||||
no-inline-comments: 'off'
|
||||
no-invalid-this: 'off'
|
||||
no-iterator: error
|
||||
no-label-var: 'off'
|
||||
no-labels: 'off'
|
||||
no-lone-blocks: 'off'
|
||||
no-lonely-if: 'off'
|
||||
no-loop-func: 'off'
|
||||
no-loss-of-precision: error
|
||||
no-magic-numbers: 'off'
|
||||
no-mixed-operators: 'off'
|
||||
no-mixed-requires: 'off'
|
||||
no-multi-assign: 'off'
|
||||
no-multi-spaces: 'off'
|
||||
no-multi-str: error
|
||||
no-multiple-empty-lines: 'off'
|
||||
no-native-reassign: 'off'
|
||||
no-negated-condition: 'off'
|
||||
no-negated-in-lhs: error
|
||||
no-nested-ternary: 'off'
|
||||
no-new: 'off'
|
||||
no-new-func: 'off'
|
||||
no-new-object: 'off'
|
||||
no-new-require: error
|
||||
no-new-wrappers: error
|
||||
no-octal-escape: error
|
||||
no-param-reassign: 'off'
|
||||
no-path-concat: error
|
||||
no-plusplus: 'off'
|
||||
no-process-env: 'off'
|
||||
no-process-exit: 'off'
|
||||
no-promise-executor-return: error
|
||||
no-proto: 'off'
|
||||
no-restricted-exports: error
|
||||
no-restricted-globals: error
|
||||
no-restricted-imports: error
|
||||
no-restricted-modules: error
|
||||
no-restricted-properties: error
|
||||
no-restricted-syntax: error
|
||||
no-return-assign: 'off'
|
||||
no-return-await: error
|
||||
no-script-url: 'off'
|
||||
no-self-compare: 'off'
|
||||
no-sequences: 'off'
|
||||
no-shadow: 'off'
|
||||
no-spaced-func: 'off'
|
||||
no-sync: 'off'
|
||||
no-tabs: 'off'
|
||||
no-template-curly-in-string: error
|
||||
no-ternary: 'off'
|
||||
no-throw-literal: 'off'
|
||||
no-trailing-spaces: 'off'
|
||||
no-undef-init: 'off'
|
||||
no-undefined: 'off'
|
||||
no-underscore-dangle: 'off'
|
||||
no-unmodified-loop-condition: 'off'
|
||||
no-unneeded-ternary: 'off'
|
||||
no-unreachable-loop: error
|
||||
no-unused-expressions: 'off'
|
||||
no-use-before-define: 'off'
|
||||
no-useless-backreference: error
|
||||
no-useless-call: 'off'
|
||||
no-useless-computed-key: error
|
||||
no-useless-concat: 'off'
|
||||
no-useless-constructor: error
|
||||
no-useless-rename: error
|
||||
no-useless-return: 'off'
|
||||
no-var: 'off'
|
||||
no-void: 'off'
|
||||
no-warning-comments: 'off'
|
||||
no-whitespace-before-property: error
|
||||
nonblock-statement-body-position:
|
||||
- error
|
||||
- any
|
||||
object-curly-newline: 'off'
|
||||
object-curly-spacing: 'off'
|
||||
object-property-newline: 'off'
|
||||
object-shorthand: 'off'
|
||||
one-var: 'off'
|
||||
one-var-declaration-per-line: 'off'
|
||||
operator-assignment: 'off'
|
||||
operator-linebreak: 'off'
|
||||
padded-blocks: 'off'
|
||||
padding-line-between-statements: error
|
||||
prefer-arrow-callback: 'off'
|
||||
prefer-const: 'off'
|
||||
prefer-destructuring: 'off'
|
||||
prefer-exponentiation-operator: 'off'
|
||||
prefer-named-capture-group: 'off'
|
||||
prefer-numeric-literals: error
|
||||
prefer-object-spread: 'off'
|
||||
prefer-promise-reject-errors: error
|
||||
prefer-reflect: 'off'
|
||||
prefer-regex-literals: 'off'
|
||||
prefer-rest-params: 'off'
|
||||
prefer-spread: 'off'
|
||||
prefer-template: 'off'
|
||||
quote-props: 'off'
|
||||
quotes:
|
||||
- error
|
||||
- double
|
||||
- avoidEscape: true
|
||||
radix: 'off'
|
||||
require-atomic-updates: error
|
||||
require-await: error
|
||||
require-jsdoc: 'off'
|
||||
require-unicode-regexp: 'off'
|
||||
rest-spread-spacing: error
|
||||
semi: 'off'
|
||||
semi-spacing: 'off'
|
||||
semi-style: 'off'
|
||||
sort-imports: error
|
||||
sort-keys: 'off'
|
||||
sort-vars: 'off'
|
||||
space-before-blocks: 'off'
|
||||
space-before-function-paren: 'off'
|
||||
space-in-parens: 'off'
|
||||
space-infix-ops: 'off'
|
||||
space-unary-ops: 'off'
|
||||
spaced-comment: 'off'
|
||||
strict: 'off'
|
||||
switch-colon-spacing: 'off'
|
||||
symbol-description: error
|
||||
template-curly-spacing: error
|
||||
template-tag-spacing: error
|
||||
unicode-bom:
|
||||
- error
|
||||
- never
|
||||
valid-jsdoc: 'off'
|
||||
valid-typeof:
|
||||
- error
|
||||
- requireStringLiterals: false
|
||||
vars-on-top: 'off'
|
||||
wrap-iife: 'off'
|
||||
wrap-regex: 'off'
|
||||
yield-star-spacing: error
|
||||
yoda: 'off'
|
||||
|
||||
# temporary rules
|
||||
no-useless-escape: 'off'
|
||||
no-unused-vars: 'off'
|
||||
no-empty: 'off'
|
||||
no-extra-semi: 'off'
|
||||
no-redeclare: 'off'
|
||||
no-control-regex: "off"
|
||||
no-mixed-spaces-and-tabs: "off"
|
||||
no-extra-boolean-cast: "off"
|
||||
no-prototype-builtins: "off"
|
||||
no-undef: "off"
|
||||
no-unreachable: "off"
|
||||
no-self-assign: "off"
|
||||
14
.github/workflows/ci.yml
vendored
14
.github/workflows/ci.yml
vendored
@@ -4,9 +4,8 @@ on:
|
||||
branches:
|
||||
- master
|
||||
- tiddlywiki-com
|
||||
- multi-wiki-support
|
||||
env:
|
||||
NODE_VERSION: "22"
|
||||
NODE_VERSION: "18"
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -83,14 +82,3 @@ jobs:
|
||||
- run: "./bin/build-tw-org.sh"
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUBPUSHTOKEN }}
|
||||
build-mws-tiddlywiki-com:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/multi-wiki-support'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: "${{ env.NODE_VERSION }}"
|
||||
- run: "./bin/build-mws-site.sh"
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUBPUSHTOKEN }}
|
||||
|
||||
2
.github/workflows/cla-check.yml
vendored
2
.github/workflows/cla-check.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
if: ${{ (github.event.pull_request.user.login != github.repository_owner) }}
|
||||
steps:
|
||||
- run: |
|
||||
if ! curl -s https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/tiddlywiki-com/licenses/cla-individual.md | grep -io "@$USER,"; then
|
||||
if ! curl -s https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/tiddlywiki-com/licenses/cla-individual.md | grep -o "@$USER,"; then
|
||||
echo "CLA not signed"
|
||||
gh pr comment "$NUMBER" -b "@$USER It appears that this is your first contribution to the project, welcome.
|
||||
|
||||
|
||||
4
.github/workflows/cla-signed.yml
vendored
4
.github/workflows/cla-signed.yml
vendored
@@ -23,8 +23,8 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- run: |
|
||||
if [[ "$BRANCH" != "tiddlywiki-com" ]]; then
|
||||
echo "This CLA signature targets the wrong branch: $BRANCH"
|
||||
if ! $BRANCH == "tiddlywiki-com"; then
|
||||
echo "This CLA signature targets the wrong branch"
|
||||
gh pr comment "$NUMBER" -b "@$AUTHOR Signatures to the CLA must target the 'tiddlywiki-com' branch."
|
||||
fi
|
||||
env:
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -5,9 +5,7 @@
|
||||
tmp/
|
||||
output/
|
||||
node_modules/
|
||||
store/
|
||||
/test-results/
|
||||
/playwright-report/
|
||||
/playwright/.cache/
|
||||
$__StoryList.tid
|
||||
/editions/test/test-store/*
|
||||
@@ -1,4 +0,0 @@
|
||||
The `multi-wiki-support` branch includes some changes that are not intended to be merged into the `master` branch:
|
||||
|
||||
* Readme update (see `editions/tw5.com/tiddlers/readme/ReadMe.tid`)
|
||||
* Remove `multiwikiserver` plugin from `readme-bld.sh` (see `bin/readme-bld.sh`)
|
||||
@@ -1,97 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Build mws.tiddlywiki.com assets.
|
||||
|
||||
# Default to the version of TiddlyWiki installed in this repo
|
||||
|
||||
if [ -z "$MWSTWCOM_BUILD_TIDDLYWIKI" ]; then
|
||||
MWSTWCOM_BUILD_TIDDLYWIKI=./tiddlywiki.js
|
||||
fi
|
||||
|
||||
echo "Using MWSTWCOM_BUILD_TIDDLYWIKI as [$MWSTWCOM_BUILD_TIDDLYWIKI]"
|
||||
|
||||
# Set up the build details
|
||||
|
||||
if [ -z "$MWSTWCOM_BUILD_DETAILS" ]; then
|
||||
MWSTWCOM_BUILD_DETAILS="$(git symbolic-ref --short HEAD)-$(git rev-parse HEAD) from $(git remote get-url origin)"
|
||||
fi
|
||||
|
||||
echo "Using MWSTWCOM_BUILD_DETAILS as [$MWSTWCOM_BUILD_DETAILS]"
|
||||
|
||||
if [ -z "$MWSTWCOM_BUILD_COMMIT" ]; then
|
||||
MWSTWCOM_BUILD_COMMIT="$(git rev-parse HEAD)"
|
||||
fi
|
||||
|
||||
echo "Using MWSTWCOM_BUILD_COMMIT as [$MWSTWCOM_BUILD_COMMIT]"
|
||||
|
||||
# Set up the build output directory
|
||||
|
||||
if [ -z "$MWSTWCOM_BUILD_OUTPUT" ]; then
|
||||
MWSTWCOM_BUILD_OUTPUT=$(mktemp -d)
|
||||
fi
|
||||
|
||||
mkdir -p $MWSTWCOM_BUILD_OUTPUT
|
||||
|
||||
if [ ! -d "$MWSTWCOM_BUILD_OUTPUT" ]; then
|
||||
echo 'A valid MWSTWCOM_BUILD_OUTPUT environment variable must be set'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Using MWSTWCOM_BUILD_OUTPUT as [$MWSTWCOM_BUILD_OUTPUT]"
|
||||
|
||||
# Pull existing GitHub pages content
|
||||
|
||||
git clone --depth=1 --branch=main "https://github.com/TiddlyWiki/mws.tiddlywiki.com-gh-pages.git" $MWSTWCOM_BUILD_OUTPUT
|
||||
|
||||
# Make the CNAME file that GitHub Pages requires
|
||||
|
||||
echo "mws.tiddlywiki.com" > $MWSTWCOM_BUILD_OUTPUT/CNAME
|
||||
|
||||
# Delete any existing static content
|
||||
|
||||
mkdir -p $MWSTWCOM_BUILD_OUTPUT/static
|
||||
rm $MWSTWCOM_BUILD_OUTPUT/static/*
|
||||
|
||||
# Put the build details into a .tid file so that it can be included in each build (deleted at the end of this script)
|
||||
|
||||
echo -e -n "title: $:/build\ncommit: $MWSTWCOM_BUILD_COMMIT\n\n$MWSTWCOM_BUILD_DETAILS\n" > $MWSTWCOM_BUILD_OUTPUT/build.tid
|
||||
|
||||
######################################################
|
||||
#
|
||||
# mws.tiddlywiki.com distribution
|
||||
#
|
||||
######################################################
|
||||
|
||||
# /index.html Main site
|
||||
# /favicon.ico Favicon for main site
|
||||
# /static.html Static rendering of default tiddlers
|
||||
# /alltiddlers.html Static rendering of all tiddlers
|
||||
# /static/* Static single tiddlers
|
||||
# /static/static.css Static stylesheet
|
||||
# /static/favicon.ico Favicon for static pages
|
||||
node $MWSTWCOM_BUILD_TIDDLYWIKI \
|
||||
editions/multiwikidocs \
|
||||
--verbose \
|
||||
--version \
|
||||
--load $MWSTWCOM_BUILD_OUTPUT/build.tid \
|
||||
--output $MWSTWCOM_BUILD_OUTPUT \
|
||||
--build favicon static index \
|
||||
|| exit 1
|
||||
|
||||
# Delete the temporary build tiddler
|
||||
|
||||
rm $MWSTWCOM_BUILD_OUTPUT/build.tid || exit 1
|
||||
|
||||
# Push output back to GitHub
|
||||
|
||||
# Exit script immediately if any command fails
|
||||
set -e
|
||||
|
||||
pushd $MWSTWCOM_BUILD_OUTPUT
|
||||
git config --global user.email "actions@github.com"
|
||||
git config --global user.name "GitHub Actions"
|
||||
git add -A .
|
||||
git commit --message "GitHub build: $GITHUB_RUN_NUMBER of $TW5_BUILD_BRANCH ($(date +'%F %T %Z'))"
|
||||
git remote add deploy "https://$GH_TOKEN@github.com/TiddlyWiki/mws.tiddlywiki.com-gh-pages.git" &>/dev/null
|
||||
git push deploy main &>/dev/null
|
||||
popd
|
||||
@@ -5,7 +5,7 @@
|
||||
# Default to the current version number for building the plugin library
|
||||
|
||||
if [ -z "$TW5_BUILD_VERSION" ]; then
|
||||
TW5_BUILD_VERSION=v5.3.7
|
||||
TW5_BUILD_VERSION=v5.3.6
|
||||
fi
|
||||
|
||||
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"
|
||||
@@ -97,6 +97,7 @@ if [ -n "$TW5_BUILD_ARCHIVE" ]; then
|
||||
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
$TW5_BUILD_MAIN_EDITION \
|
||||
--verbose \
|
||||
--version \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_ARCHIVE \
|
||||
@@ -114,6 +115,7 @@ fi
|
||||
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
$TW5_BUILD_MAIN_EDITION \
|
||||
--verbose \
|
||||
--version \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
@@ -126,6 +128,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /tiddlywikicore-<version>.js Core plugin javascript
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/empty \
|
||||
--verbose \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--build empty emptyexternalcore \
|
||||
|| exit 1
|
||||
@@ -134,6 +137,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /test.html Test edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/test \
|
||||
--verbose \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all test.html text/plain \
|
||||
|| exit 1
|
||||
@@ -146,6 +150,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /dev/static/static.css Static stylesheet
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/dev \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/dev \
|
||||
--build index favicon static \
|
||||
@@ -154,13 +159,29 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /tour.html tour edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/tour \
|
||||
--verbose \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all tour.html text/plain \
|
||||
|| exit 1
|
||||
|
||||
# /dev/index.html Developer docs
|
||||
# /dev/favicon.ico Favicon for dev site
|
||||
# /dev/static.html Static rendering of default tiddlers
|
||||
# /dev/alltiddlers.html Static rendering of all tiddlers
|
||||
# /dev/static/* Static single tiddlers
|
||||
# /dev/static/static.css Static stylesheet
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/dev \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/dev \
|
||||
--build index favicon static \
|
||||
|| exit 1
|
||||
|
||||
# /share.html Custom edition for sharing via the URL
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/share \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--build share \
|
||||
@@ -169,6 +190,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /upgrade.html Custom edition for performing upgrades
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/upgrade \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--build upgrade \
|
||||
@@ -177,6 +199,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /encrypted.html Copy of the main file encrypted with the password "password"
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
$TW5_BUILD_MAIN_EDITION \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--build encrypted \
|
||||
@@ -192,6 +215,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /editions/xlsx-utils/index.html xlsx-utils edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/xlsx-utils \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/editions/xlsx-utils/ \
|
||||
--build index \
|
||||
@@ -200,6 +224,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /editions/resumebuilder/index.html Resume builder edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/resumebuilder \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/editions/resumebuilder/ \
|
||||
--build index \
|
||||
@@ -208,6 +233,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /editions/text-slicer/index.html Text slicer edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/text-slicer \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/editions/text-slicer/ \
|
||||
--build index \
|
||||
@@ -216,6 +242,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /editions/translators/index.html Translators edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/translators \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/editions/translators/ \
|
||||
--build index \
|
||||
@@ -224,6 +251,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /editions/introduction/index.html Introduction edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/introduction \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/editions/introduction/ \
|
||||
--build index \
|
||||
@@ -232,6 +260,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /editions/full/index.html Full edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/full \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/editions/full/ \
|
||||
--build index \
|
||||
@@ -240,6 +269,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /editions/tw5.com-docs/index.html tiddlywiki.com docs edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/tw5.com-docs \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/editions/tw5.com-docs/ \
|
||||
--build index \
|
||||
@@ -248,6 +278,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /editions/twitter-archivist/index.html Twitter Archivist edition
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/twitter-archivist \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/editions/twitter-archivist/ \
|
||||
--build index \
|
||||
@@ -263,6 +294,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/innerwikidemo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/innerwiki/index.html text/plain \
|
||||
@@ -273,6 +305,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/dynaviewdemo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/dynaview/index.html text/plain \
|
||||
@@ -287,6 +320,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/katexdemo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/katex/index.html text/plain \
|
||||
@@ -297,6 +331,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /plugins/tiddlywiki/tahoelafs/empty.html Empty wiki with Tahoe-LAFS plugin
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/tahoelafs \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/tahoelafs/index.html text/plain \
|
||||
@@ -307,6 +342,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /plugins/tiddlywiki/d3/empty.html Empty wiki with D3 plugin
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/d3demo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/d3/index.html text/plain \
|
||||
@@ -317,6 +353,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /plugins/tiddlywiki/codemirror/empty.html Empty wiki with codemirror plugin
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/codemirrordemo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/codemirror/index.html text/plain \
|
||||
@@ -327,6 +364,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /plugins/tiddlywiki/markdown/empty.html Empty wiki with Markdown plugin
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/markdowndemo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/markdown/index.html text/plain \
|
||||
@@ -337,6 +375,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /plugins/tiddlywiki/tw2parser/empty.html Empty wiki with tw2parser plugin
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/classicparserdemo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/tw2parser/index.html text/plain \
|
||||
@@ -347,6 +386,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /plugins/tiddlywiki/highlight/empty.html Empty wiki with highlight plugin
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/highlightdemo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/highlight/index.html text/plain \
|
||||
@@ -357,6 +397,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /plugins/tiddlywiki/geospatial/empty.html Empty wiki with geospatial plugin
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/geospatialdemo \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT \
|
||||
--rendertiddler $:/core/save/all plugins/tiddlywiki/geospatial/index.html text/plain \
|
||||
@@ -384,6 +425,7 @@ rm -rf $TW5_BUILD_OUTPUT/languages/zh-Hant/static/*
|
||||
# /languages/de-AT/empty.html Empty wiki with de-AT language
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/de-AT \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/languages/de-AT \
|
||||
--build favicon empty static index \
|
||||
@@ -393,6 +435,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /languages/de-DE/empty.html Empty wiki with de-DE language
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/de-DE \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/languages/de-DE \
|
||||
--build favicon empty static index \
|
||||
@@ -402,6 +445,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /languages/es-ES/empty.html Empty wiki with es-ES language
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/es-ES \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/languages/es-ES \
|
||||
--build favicon empty static index \
|
||||
@@ -411,6 +455,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /languages/fr-FR/empty.html Empty wiki with fr-FR language
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/fr-FR \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/languages/fr-FR \
|
||||
--build favicon empty static index \
|
||||
@@ -420,6 +465,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /languages/ja-JP/empty.html Empty wiki with ja-JP language
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/ja-JP \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/languages/ja-JP \
|
||||
--build empty index \
|
||||
@@ -429,6 +475,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /languages/ko-KR/empty.html Empty wiki with ko-KR language
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/ko-KR \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/languages/ko-KR \
|
||||
--build favicon empty static index \
|
||||
@@ -438,6 +485,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /languages/zh-Hans/empty.html Empty wiki with zh-Hans language
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/zh-Hans \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/languages/zh-Hans \
|
||||
--build empty index \
|
||||
@@ -447,6 +495,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
# /languages/zh-Hant/empty.html Empty wiki with zh-Hant language
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/zh-Hant \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/languages/zh-Hant \
|
||||
--build empty index \
|
||||
@@ -460,6 +509,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
||||
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
./editions/pluginlibrary \
|
||||
--verbose \
|
||||
--load $TW5_BUILD_OUTPUT/build.tid \
|
||||
--output $TW5_BUILD_OUTPUT/library/$TW5_BUILD_VERSION \
|
||||
--build library\
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
# test TiddlyWiki5 for tiddlywiki.com
|
||||
|
||||
npm install
|
||||
|
||||
node ./tiddlywiki.js \
|
||||
./editions/test \
|
||||
--verbose \
|
||||
|
||||
@@ -10,17 +10,8 @@ fi
|
||||
|
||||
# tw5.com readmes
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
+plugins/tiddlywiki/multiwikiserver \
|
||||
editions/tw5.com \
|
||||
--verbose \
|
||||
--output . \
|
||||
--build readmes \
|
||||
|| exit 1
|
||||
|
||||
# tw.org readmes
|
||||
node $TW5_BUILD_TIDDLYWIKI \
|
||||
editions/tw.org \
|
||||
--verbose \
|
||||
--output . \
|
||||
--build readmes \
|
||||
|| exit 1
|
||||
|
||||
@@ -386,8 +386,8 @@ $tw.utils.parseDate = function(value) {
|
||||
parseInt(value.substr(10,2)||"00",10),
|
||||
parseInt(value.substr(12,2)||"00",10),
|
||||
parseInt(value.substr(14,3)||"000",10)));
|
||||
d.setUTCFullYear(year); // See https://stackoverflow.com/a/5870822
|
||||
return d;
|
||||
d.setUTCFullYear(year); // See https://stackoverflow.com/a/5870822
|
||||
return d;
|
||||
} else if($tw.utils.isDate(value)) {
|
||||
return value;
|
||||
} else {
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<p>This community exists because TiddlyWiki is more useful when people share and work together.</p><p>This community is a beautiful but fragile thing: a collection of diverse people from all over the planet, united in their interest in the project, and their commitment to helping one another achieve and learn more.</p><p>We try to make the community as broad and welcoming as possible by remembering some basic principles of culture and behaviour.</p><p>These principles guide technical and non-technical decisions, and help contributors and leaders support our project and community.</p><ul><li>We are optimistic and hopeful</li><li>We aim to foster a learning environment that is collaborative and safe for everyone</li><li>We recognise that the motivation for sharing and helping is usually for appreciation, and not financial gain, and so we take care to acknowledge and <strong>thank the people who enrich the community by sharing what they have created</strong></li><li>While we are united in our interest in TiddlyWiki, we differ in every other conceivable way. We choose to focus on what unites us, and <strong>avoid unnecessarily mixing contentious topics like religion and politics</strong></li><li>We treat each other with respect, and start with the assumption that <strong>others are acting in good faith</strong></li><li>We avoid discriminatory language</li><li>We try to use our strength as a community to help others</li><li>We avoid responding when angry or upset because we try to de-escalate conflict</li><li>We make sure we critique ideas, not people</li><li>When we disagree with others we do so graciously, and treat others with dignity and respoect</li><li>We do not tolerate intolerance towards others</li><li>We seek first to understand others, and then to be understood</li><li>We have fun</li></ul><p>Our discussions are in English. It is not the first language of many people in the community, nor do we all share the same cultural background and reference points. So we take care to use language that is clear and unambigous, and avoid cultural references or jokes that will not be widely understood.</p><p>It is not acceptable to make jokes or other comments that discriminate by race, gender, sexuality, or other protected characteristic.</p><p>As an inclusive community, we are committed to making sure that TiddlyWiki is an accessible tool that understands the needs of people with disabilities.</p>
|
||||
@@ -133,7 +133,6 @@ Excise/Caption/Replace/Link: link
|
||||
Excise/Caption/Replace/Transclusion: transclusion
|
||||
Excise/Caption/Tag: Tag new tiddler with the title of this tiddler
|
||||
Excise/Caption/TiddlerExists: Warning: tiddler already exists
|
||||
Excise/DefaultTitle: New Excision
|
||||
Excise/Hint: Excise the selected text into a new tiddler
|
||||
Heading1/Caption: heading 1
|
||||
Heading1/Hint: Apply heading level 1 formatting to lines containing selection
|
||||
|
||||
@@ -96,10 +96,6 @@ Plugins/PluginWillRequireReload: (requires reload)
|
||||
Plugins/Plugins/Caption: Plugins
|
||||
Plugins/Plugins/Hint: Plugins
|
||||
Plugins/Reinstall/Caption: reinstall
|
||||
Plugins/Stability/Deprecated: DEPRECATED
|
||||
Plugins/Stability/Experimental: EXPERIMENTAL
|
||||
Plugins/Stability/Legacy: LEGACY
|
||||
Plugins/Stability/Stable: STABLE
|
||||
Plugins/Themes/Caption: Themes
|
||||
Plugins/Themes/Hint: Theme plugins
|
||||
Plugins/Update/Caption: update
|
||||
@@ -175,8 +171,6 @@ Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Update addres
|
||||
Settings/PerformanceInstrumentation/Caption: Performance Instrumentation
|
||||
Settings/PerformanceInstrumentation/Hint: Displays performance statistics in the browser developer console. Requires reload to take effect
|
||||
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/Hint: Choose the style for toolbar buttons:
|
||||
Settings/ToolbarButtonStyle/Styles/Borderless: Borderless
|
||||
@@ -206,10 +200,10 @@ Settings/MissingLinks/Hint: Choose whether to link to tiddlers that do not exist
|
||||
Settings/MissingLinks/Description: Enable links to missing tiddlers
|
||||
SocialCard/Caption: Social Media Card
|
||||
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/PreviewUrl/Prompt: Full URL to preview image for this ~TiddlyWiki
|
||||
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/Preview: Preview image:
|
||||
SocialCard/Url/Prompt: Full URL of this ~TiddlyWiki
|
||||
SocialCard/Url/Prompt: Full URL of this TiddlyWiki
|
||||
StoryTiddler/Caption: Story Tiddler
|
||||
StoryTiddler/Hint: This rule cascade is used to dynamically choose the template for displaying a tiddler in the story river.
|
||||
StoryView/Caption: Story View
|
||||
|
||||
@@ -26,8 +26,6 @@ Tags/ClearInput/Caption: clear input
|
||||
Tags/ClearInput/Hint: Clear tag input
|
||||
Tags/Dropdown/Caption: tag list
|
||||
Tags/Dropdown/Hint: Show tag list
|
||||
Tags/EmptyMessage: No tags found
|
||||
Tags/EmptyMessage/System: No system tags found
|
||||
Title/BadCharacterWarning: Warning: avoid using any of the characters <<bad-chars>> in tiddler titles
|
||||
Title/Exists/Prompt: Target tiddler already exists
|
||||
Title/Relink/Prompt: Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers
|
||||
|
||||
@@ -6,8 +6,6 @@ Filter/Hint: Search via a [[filter expression|https://tiddlywiki.com/static/Filt
|
||||
Filter/Matches: //<small><<resultCount>> matches</small>//
|
||||
Matches: //<small><<resultCount>> matches</small>//
|
||||
Matches/All: All matches:
|
||||
Matches/NoMatch: //No match//
|
||||
Matches/NoResult: //No search result//
|
||||
Matches/Title: Title matches:
|
||||
Search: Search
|
||||
Search/TooShort: Search text too short
|
||||
|
||||
@@ -38,13 +38,6 @@ Commander.prototype.log = function(str) {
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
Clear pending commands
|
||||
*/
|
||||
Commander.prototype.clearCommands = function() {
|
||||
this.commandTokens = this.commandTokens.slice(0,this.nextToken);
|
||||
};
|
||||
|
||||
/*
|
||||
Write a string if verbose flag is set
|
||||
*/
|
||||
|
||||
@@ -24,7 +24,7 @@ var Command = function(params,commander) {
|
||||
|
||||
Command.prototype.execute = function() {
|
||||
// Get the build targets defined in the wiki
|
||||
var buildTargets = $tw.boot.wikiInfo && $tw.boot.wikiInfo.build;
|
||||
var buildTargets = $tw.boot.wikiInfo.build;
|
||||
if(!buildTargets) {
|
||||
return "No build targets defined";
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ var Server = require("$:/core/modules/server/server.js").Server;
|
||||
|
||||
exports.info = {
|
||||
name: "listen",
|
||||
synchronous: false,
|
||||
synchronous: true,
|
||||
namedParameterMode: true,
|
||||
mandatoryParameters: []
|
||||
};
|
||||
@@ -38,11 +38,7 @@ Command.prototype.execute = function() {
|
||||
wiki: this.commander.wiki,
|
||||
variables: self.params
|
||||
});
|
||||
var nodeServer = this.server.listen(null,null,null,{
|
||||
callback: function() {
|
||||
self.callback();
|
||||
}
|
||||
});
|
||||
var nodeServer = this.server.listen();
|
||||
$tw.hooks.invokeHook("th-server-command-post-start",this.server,nodeServer,"tiddlywiki");
|
||||
return null;
|
||||
};
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
/*\
|
||||
title: $:/core/modules/commands/quit.js
|
||||
type: application/javascript
|
||||
module-type: command
|
||||
|
||||
Immediately ends the TiddlyWiki process
|
||||
|
||||
\*/
|
||||
(function(){
|
||||
|
||||
/*jslint node: true, browser: true */
|
||||
/*global $tw: false */
|
||||
"use strict";
|
||||
|
||||
exports.info = {
|
||||
name: "quit",
|
||||
synchronous: true
|
||||
};
|
||||
|
||||
var Command = function(params,commander,callback) {
|
||||
var self = this;
|
||||
this.params = params;
|
||||
this.commander = commander;
|
||||
this.callback = callback;
|
||||
};
|
||||
|
||||
Command.prototype.execute = function() {
|
||||
// Clear any pending commands
|
||||
this.commander.clearCommands();
|
||||
// We don't actually quit, we just issue the "th-quit" hook to give listeners a chance to exit
|
||||
$tw.hooks.invokeHook("th-quit");
|
||||
return null;
|
||||
};
|
||||
|
||||
exports.Command = Command;
|
||||
|
||||
})();
|
||||
@@ -12,27 +12,20 @@ Text editor operation to excise the selection to a new tiddler
|
||||
/*global $tw: false */
|
||||
"use strict";
|
||||
|
||||
function isMarkdown(mediaType) {
|
||||
return mediaType === 'text/markdown' || mediaType === 'text/x-markdown';
|
||||
}
|
||||
|
||||
exports["excise"] = function(event,operation) {
|
||||
var editTiddler = this.wiki.getTiddler(this.editTitle),
|
||||
editTiddlerTitle = this.editTitle,
|
||||
wikiLinks = !isMarkdown(editTiddler.fields.type),
|
||||
excisionBaseTitle = $tw.language.getString("Buttons/Excise/DefaultTitle");
|
||||
editTiddlerTitle = this.editTitle;
|
||||
if(editTiddler && editTiddler.fields["draft.of"]) {
|
||||
editTiddlerTitle = editTiddler.fields["draft.of"];
|
||||
}
|
||||
var excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(excisionBaseTitle);
|
||||
var excisionTitle = event.paramObject.title || this.wiki.generateNewTitle("New Excision");
|
||||
this.wiki.addTiddler(new $tw.Tiddler(
|
||||
this.wiki.getCreationFields(),
|
||||
this.wiki.getModificationFields(),
|
||||
{
|
||||
title: excisionTitle,
|
||||
text: operation.selection,
|
||||
tags: event.paramObject.tagnew === "yes" ? [editTiddlerTitle] : [],
|
||||
type: editTiddler.fields.type
|
||||
tags: event.paramObject.tagnew === "yes" ? [editTiddlerTitle] : []
|
||||
}
|
||||
));
|
||||
operation.replacement = excisionTitle;
|
||||
@@ -41,8 +34,7 @@ exports["excise"] = function(event,operation) {
|
||||
operation.replacement = "{{" + operation.replacement+ "}}";
|
||||
break;
|
||||
case "link":
|
||||
operation.replacement = wikiLinks ? "[[" + operation.replacement+ "]]"
|
||||
: ("[" + operation.replacement + "](<#" + operation.replacement + ">)");
|
||||
operation.replacement = "[[" + operation.replacement+ "]]";
|
||||
break;
|
||||
case "macro":
|
||||
operation.replacement = "<<" + (event.paramObject.macro || "translink") + " \"\"\"" + operation.replacement + "\"\"\">>";
|
||||
|
||||
@@ -13,125 +13,37 @@ Text editor operation to wrap the selection with the specified prefix and suffix
|
||||
"use strict";
|
||||
|
||||
exports["wrap-selection"] = function(event,operation) {
|
||||
var o = operation,
|
||||
prefix = event.paramObject.prefix,
|
||||
suffix = event.paramObject.suffix,
|
||||
trimSelection = event.paramObject.trimSelection || "no",
|
||||
selLength = o.selEnd - o.selStart;
|
||||
|
||||
// This function detects, if trailing spaces are part of the selection __and__ if the user wants to handle them
|
||||
// Returns "yes", "start", "end", "no" (default)
|
||||
// yes .. there are trailing spaces at both ends
|
||||
// start .. there are trailing spaces at the start
|
||||
// end .. there are trailing spaces at the end
|
||||
// no .. no trailing spaces are taken into account
|
||||
var trailingSpaceAt = function(sel) {
|
||||
var _start,
|
||||
_end,
|
||||
result;
|
||||
// trimSelection is a user parameter, which this evaluations takes into account
|
||||
switch(trimSelection) {
|
||||
case "end":
|
||||
result = (sel.trimEnd().length !== selLength) ? "end" : "no";
|
||||
break;
|
||||
case "yes":
|
||||
_start = sel.trimStart().length !== selLength;
|
||||
_end = sel.trimEnd().length !== selLength;
|
||||
result = (_start && _end) ? "yes" : (_start) ? "start" : (_end) ? "end" : "no";
|
||||
break;
|
||||
case "start":
|
||||
result = (sel.trimStart().length !== selLength) ? "start" : "no";
|
||||
break;
|
||||
default:
|
||||
result = "no";
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function togglePrefixSuffix() {
|
||||
if(o.text.substring(o.selStart - prefix.length, o.selStart + suffix.length) === prefix + suffix) {
|
||||
if(operation.selStart === operation.selEnd) {
|
||||
// No selection; check if we're within the prefix/suffix
|
||||
if(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {
|
||||
// Remove the prefix and suffix
|
||||
o.cutStart = o.selStart - prefix.length;
|
||||
o.cutEnd = o.selEnd + suffix.length;
|
||||
o.replacement = "";
|
||||
o.newSelStart = o.cutStart;
|
||||
o.newSelEnd = o.newSelStart;
|
||||
operation.cutStart = operation.selStart - event.paramObject.prefix.length;
|
||||
operation.cutEnd = operation.selEnd + event.paramObject.suffix.length;
|
||||
operation.replacement = "";
|
||||
operation.newSelStart = operation.cutStart;
|
||||
operation.newSelEnd = operation.newSelStart;
|
||||
} else {
|
||||
// Wrap the cursor instead
|
||||
o.cutStart = o.selStart;
|
||||
o.cutEnd = o.selEnd;
|
||||
o.replacement = prefix + suffix;
|
||||
o.newSelStart = o.selStart + prefix.length;
|
||||
o.newSelEnd = o.newSelStart;
|
||||
operation.cutStart = operation.selStart;
|
||||
operation.cutEnd = operation.selEnd;
|
||||
operation.replacement = event.paramObject.prefix + event.paramObject.suffix;
|
||||
operation.newSelStart = operation.selStart + event.paramObject.prefix.length;
|
||||
operation.newSelEnd = operation.newSelStart;
|
||||
}
|
||||
}
|
||||
|
||||
// options: lenPrefix, lenSuffix
|
||||
function removePrefixSuffix(options) {
|
||||
options = options || {};
|
||||
var _lenPrefix = options.lenPrefix || 0;
|
||||
var _lenSuffix = options.lenSuffix || 0;
|
||||
|
||||
o.cutStart = o.selStart - _lenPrefix;
|
||||
o.cutEnd = o.selEnd + _lenSuffix;
|
||||
o.replacement = (_lenPrefix || _lenSuffix) ? o.selection : o.selection.substring(prefix.length, o.selection.length - suffix.length);
|
||||
o.newSelStart = o.cutStart;
|
||||
o.newSelEnd = o.cutStart + o.replacement.length;
|
||||
}
|
||||
|
||||
function addPrefixSuffix() {
|
||||
// remove trailing space if requested
|
||||
switch(trailingSpaceAt(o.selection)) {
|
||||
case "no":
|
||||
// has no trailing spaces
|
||||
o.cutStart = o.selStart;
|
||||
o.cutEnd = o.selEnd;
|
||||
o.replacement = prefix + o.selection + suffix;
|
||||
o.newSelStart = o.selStart;
|
||||
o.newSelEnd = o.selStart + o.replacement.length;
|
||||
break;
|
||||
case "yes":
|
||||
// handle both ends
|
||||
o.cutStart = o.selEnd - (o.selection.trimStart().length);
|
||||
o.cutEnd = o.selection.trimEnd().length + o.selStart;
|
||||
o.replacement = prefix + o.selection.trim() + suffix;
|
||||
o.newSelStart = o.cutStart;
|
||||
o.newSelEnd = o.cutStart + o.replacement.length;
|
||||
break;
|
||||
case "start":
|
||||
// handle leading
|
||||
o.cutStart = o.selEnd - (o.selection.trimStart().length);
|
||||
o.cutEnd = o.selEnd;
|
||||
o.replacement = prefix + o.selection.trimStart() + suffix;
|
||||
o.newSelStart = o.cutStart;
|
||||
o.newSelEnd = o.cutStart + o.replacement.length;
|
||||
break;
|
||||
case "end":
|
||||
// handle trailing
|
||||
o.cutStart = o.selStart;
|
||||
o.cutEnd = o.selection.trimEnd().length + o.selStart;
|
||||
o.replacement = prefix + o.selection.trimEnd() + suffix;
|
||||
o.newSelStart = o.selStart;
|
||||
o.newSelEnd = o.selStart + o.replacement.length;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(o.selStart === o.selEnd) {
|
||||
// No selection; Create prefix and suffix. Set cursor in between them: ""|""
|
||||
togglePrefixSuffix();
|
||||
} else if(o.text.substring(o.selStart, o.selStart + prefix.length) === prefix &&
|
||||
o.text.substring(o.selEnd - suffix.length,o.selEnd) === suffix) {
|
||||
} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {
|
||||
// Prefix and suffix are already present, so remove them
|
||||
removePrefixSuffix();
|
||||
} else if(o.text.substring(o.selStart - prefix.length, o.selStart) === prefix &&
|
||||
o.text.substring(o.selEnd, o.selEnd + suffix.length) === suffix) {
|
||||
// Prefix and suffix are present BUT not selected -> remove them
|
||||
removePrefixSuffix({"lenPrefix": prefix.length, "lenSuffix": suffix.length});
|
||||
operation.cutStart = operation.selStart;
|
||||
operation.cutEnd = operation.selEnd;
|
||||
operation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);
|
||||
operation.newSelStart = operation.selStart;
|
||||
operation.newSelEnd = operation.selStart + operation.replacement.length;
|
||||
} else {
|
||||
// Add the prefix and suffix
|
||||
addPrefixSuffix();
|
||||
operation.cutStart = operation.selStart;
|
||||
operation.cutEnd = operation.selEnd;
|
||||
operation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;
|
||||
operation.newSelStart = operation.selStart;
|
||||
operation.newSelEnd = operation.selStart + operation.replacement.length;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@ Export our filter functions
|
||||
|
||||
exports.decodebase64 = function(source,operator,options) {
|
||||
var results = [];
|
||||
var binary = operator.suffixes && operator.suffixes[0].indexOf("binary") !== -1;
|
||||
var urlsafe = operator.suffixes && operator.suffixes[0].indexOf("urlsafe") !== -1;
|
||||
var binary = operator.suffixes && operator.suffixes.indexOf("binary") !== -1;
|
||||
var urlsafe = operator.suffixes && operator.suffixes.indexOf("urlsafe") !== -1;
|
||||
source(function(tiddler,title) {
|
||||
results.push($tw.utils.base64Decode(title,binary,urlsafe));
|
||||
});
|
||||
@@ -28,8 +28,8 @@ exports.decodebase64 = function(source,operator,options) {
|
||||
|
||||
exports.encodebase64 = function(source,operator,options) {
|
||||
var results = [];
|
||||
var binary = operator.suffixes && operator.suffixes[0].indexOf("binary") !== -1;
|
||||
var urlsafe = operator.suffixes && operator.suffixes[0].indexOf("urlsafe") !== -1;
|
||||
var binary = operator.suffixes && operator.suffixes.indexOf("binary") !== -1;
|
||||
var urlsafe = operator.suffixes && operator.suffixes.indexOf("urlsafe") !== -1;
|
||||
source(function(tiddler,title) {
|
||||
results.push($tw.utils.base64Encode(title,binary,urlsafe));
|
||||
});
|
||||
|
||||
@@ -16,22 +16,20 @@ exports.name = "unusedtitle";
|
||||
exports.params = [
|
||||
{name: "baseName"},
|
||||
{name: "separator"},
|
||||
{name: "template"},
|
||||
{name: "startCount"}
|
||||
{name: "template"}
|
||||
];
|
||||
|
||||
/*
|
||||
Run the macro
|
||||
*/
|
||||
exports.run = function(baseName,separator,template,startCount) {
|
||||
exports.run = function(baseName,separator,template) {
|
||||
separator = separator || " ";
|
||||
startCount = startCount || 0;
|
||||
if(!baseName) {
|
||||
baseName = $tw.language.getString("DefaultNewTiddlerTitle");
|
||||
}
|
||||
// $tw.wiki.generateNewTitle = function(baseTitle,options)
|
||||
// options.prefix must be a string!
|
||||
return this.wiki.generateNewTitle(baseName, {"prefix": separator, "template": template, "startCount": startCount});
|
||||
// options.prefix must be a string!
|
||||
return this.wiki.generateNewTitle(baseName, {"prefix": separator, "template": template});
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
@@ -6,7 +6,7 @@ module-type: wikirule
|
||||
Conditional shortcut syntax
|
||||
|
||||
```
|
||||
This is a <%if [{something}] %>Elephant<%elseif [{else}] %>Pelican<%else%>Crocodile<%endif%>
|
||||
This is a <% if [{something}] %>Elephant<% elseif [{else}] %>Pelican<% else %>Crocodile<% endif %>
|
||||
```
|
||||
|
||||
\*/
|
||||
@@ -27,7 +27,7 @@ exports.init = function(parser) {
|
||||
};
|
||||
|
||||
exports.findNextMatch = function(startPos) {
|
||||
// Look for the next <%if shortcut
|
||||
// Look for the next <% if shortcut
|
||||
this.matchRegExp.lastIndex = startPos;
|
||||
this.match = this.matchRegExp.exec(this.parser.source);
|
||||
// If not found then return no match
|
||||
|
||||
@@ -93,12 +93,11 @@ var processRow = function(prevColumns) {
|
||||
}
|
||||
// Check whether this is a heading cell
|
||||
var cell;
|
||||
var start = this.parser.pos;
|
||||
if(chr === "!") {
|
||||
this.parser.pos++;
|
||||
cell = {type: "element", tag: "th", start: start, children: []};
|
||||
cell = {type: "element", tag: "th", children: []};
|
||||
} else {
|
||||
cell = {type: "element", tag: "td", start: start, children: []};
|
||||
cell = {type: "element", tag: "td", children: []};
|
||||
}
|
||||
tree.push(cell);
|
||||
// Record information about this cell
|
||||
@@ -122,7 +121,6 @@ var processRow = function(prevColumns) {
|
||||
}
|
||||
// Move back to the closing `|`
|
||||
this.parser.pos--;
|
||||
cell.end = this.parser.pos;
|
||||
}
|
||||
col++;
|
||||
cellRegExp.lastIndex = this.parser.pos;
|
||||
@@ -171,13 +169,12 @@ exports.parse = function() {
|
||||
rowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});
|
||||
} else {
|
||||
// Create the row
|
||||
var theRow = {type: "element", tag: "tr", children: [], start: rowMatch.index};
|
||||
var theRow = {type: "element", tag: "tr", children: []};
|
||||
$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? "oddRow" : "evenRow");
|
||||
rowContainer.children.push(theRow);
|
||||
// Process the row
|
||||
theRow.children = processRow.call(this,prevColumns);
|
||||
this.parser.pos = rowMatch.index + rowMatch[0].length;
|
||||
theRow.end = this.parser.pos;
|
||||
// Increment the row count
|
||||
rowCount++;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ Retrieve ETag if available
|
||||
*/
|
||||
var retrieveETag = function(self) {
|
||||
var headers = {
|
||||
Accept: "*/*"
|
||||
Accept: "*/*;charset=UTF-8"
|
||||
};
|
||||
$tw.utils.httpRequest({
|
||||
url: self.uri(),
|
||||
@@ -55,7 +55,7 @@ var PutSaver = function(wiki) {
|
||||
callback: function(err,data,xhr) {
|
||||
// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1
|
||||
if(!err) {
|
||||
self.serverAcceptsPuts = xhr.status >= 200 && xhr.status < 300 && !!xhr.getResponseHeader("dav");
|
||||
self.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader("dav");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -364,11 +364,6 @@ Server.prototype.listen = function(port,host,prefix) {
|
||||
}
|
||||
// Display the port number after we've started listening (the port number might have been specified as zero, in which case we will get an assigned port)
|
||||
server.on("listening",function() {
|
||||
// Stop listening when we get the "th-quit" hook
|
||||
$tw.hooks.addHook("th-quit",function() {
|
||||
server.close();
|
||||
});
|
||||
// Log listening details
|
||||
var address = server.address(),
|
||||
url = self.protocol + "://" + (address.family === "IPv6" ? "[" + address.address + "]" : address.address) + ":" + address.port + prefix;
|
||||
$tw.utils.log("Serving on " + url,"brown/orange");
|
||||
|
||||
@@ -52,9 +52,7 @@ exports.startup = function() {
|
||||
basicAuthUsername: params["basic-auth-username"],
|
||||
basicAuthUsernameFromStore: params["basic-auth-username-from-store"],
|
||||
basicAuthPassword: params["basic-auth-password"],
|
||||
basicAuthPasswordFromStore: params["basic-auth-password-from-store"],
|
||||
bearerAuthToken: params["bearer-auth-token"],
|
||||
bearerAuthTokenFromStore: params["bearer-auth-token-from-store"]
|
||||
basicAuthPasswordFromStore: params["basic-auth-password-from-store"]
|
||||
});
|
||||
});
|
||||
$tw.rootWidget.addEventListener("tm-http-cancel-all-requests",function(event) {
|
||||
|
||||
@@ -257,11 +257,7 @@ Save an incoming tiddler in the store, and updates the associated tiddlerInfo
|
||||
Syncer.prototype.storeTiddler = function(tiddlerFields) {
|
||||
// Save the tiddler
|
||||
var tiddler = new $tw.Tiddler(tiddlerFields);
|
||||
// Only save the tiddler if it has changed
|
||||
var existingTiddler = this.wiki.getTiddler(tiddlerFields.title);
|
||||
if(!existingTiddler || !existingTiddler.isEqual(tiddler)) {
|
||||
this.wiki.addTiddler(tiddler);
|
||||
}
|
||||
this.wiki.addTiddler(tiddler);
|
||||
// Save the tiddler revision and changeCount details
|
||||
this.tiddlerInfo[tiddlerFields.title] = {
|
||||
revision: this.getTiddlerRevision(tiddlerFields.title),
|
||||
@@ -560,7 +556,6 @@ SaveTiddlerTask.prototype.run = function(callback) {
|
||||
// Invoke the callback
|
||||
callback(null);
|
||||
},{
|
||||
syncer: self.syncer,
|
||||
tiddlerInfo: self.syncer.tiddlerInfo[self.title]
|
||||
});
|
||||
} else {
|
||||
@@ -591,7 +586,6 @@ DeleteTiddlerTask.prototype.run = function(callback) {
|
||||
// Invoke the callback
|
||||
callback(null);
|
||||
},{
|
||||
syncer: self.syncer,
|
||||
tiddlerInfo: self.syncer.tiddlerInfo[this.title]
|
||||
});
|
||||
};
|
||||
@@ -620,8 +614,6 @@ LoadTiddlerTask.prototype.run = function(callback) {
|
||||
}
|
||||
// Invoke the callback
|
||||
callback(null);
|
||||
},{
|
||||
syncer: self.syncer
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -104,8 +104,6 @@ basicAuthUsername: plain username for basic authentication
|
||||
basicAuthUsernameFromStore: name of password store entry containing username
|
||||
basicAuthPassword: plain password for basic authentication
|
||||
basicAuthPasswordFromStore: name of password store entry containing password
|
||||
bearerAuthToken: plain text token for bearer authentication
|
||||
bearerAuthTokenFromStore: name of password store entry contain bear authorization token
|
||||
*/
|
||||
function HttpClientRequest(options) {
|
||||
var self = this;
|
||||
@@ -137,11 +135,8 @@ function HttpClientRequest(options) {
|
||||
});
|
||||
this.basicAuthUsername = options.basicAuthUsername || (options.basicAuthUsernameFromStore && $tw.utils.getPassword(options.basicAuthUsernameFromStore)) || "";
|
||||
this.basicAuthPassword = options.basicAuthPassword || (options.basicAuthPasswordFromStore && $tw.utils.getPassword(options.basicAuthPasswordFromStore)) || "";
|
||||
this.bearerAuthToken = options.bearerAuthToken || (options.bearerAuthTokenFromStore && $tw.utils.getPassword(options.bearerAuthTokenFromStore)) || "";
|
||||
if(this.basicAuthUsername && this.basicAuthPassword) {
|
||||
this.requestHeaders.Authorization = "Basic " + $tw.utils.base64Encode(this.basicAuthUsername + ":" + this.basicAuthPassword);
|
||||
} else if(this.bearerAuthToken) {
|
||||
this.requestHeaders.Authorization = "Bearer " + this.bearerAuthToken;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,14 +29,10 @@ exports.getEditionInfo = function() {
|
||||
for(var entryIndex=0; entryIndex<entries.length; entryIndex++) {
|
||||
var entry = entries[entryIndex];
|
||||
// Check if directories have a valid tiddlywiki.info
|
||||
// Check if the entry is a hidden directory
|
||||
if((entry.charAt(0) !== ".") && !editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {
|
||||
var file=path.resolve(editionPath,entry,"tiddlywiki.info");
|
||||
if(fs.existsSync(file)) {
|
||||
var info = $tw.utils.parseJSONSafe(fs.readFileSync(file,"utf8"),null);
|
||||
if(info) {
|
||||
editionInfo[entry] = info;
|
||||
}
|
||||
if(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {
|
||||
var info = $tw.utils.parseJSONSafe(fs.readFileSync(path.resolve(editionPath,entry,"tiddlywiki.info"),"utf8"),null);
|
||||
if(info) {
|
||||
editionInfo[entry] = info;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -45,4 +41,4 @@ exports.getEditionInfo = function() {
|
||||
return editionInfo;
|
||||
};
|
||||
|
||||
})();
|
||||
})();
|
||||
|
||||
@@ -56,65 +56,37 @@ Object.defineProperty(TW_TextNode.prototype, "formattedTextContent", {
|
||||
}
|
||||
});
|
||||
|
||||
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) {
|
||||
var TW_Element = function(tag,namespace) {
|
||||
bumpSequenceNumber(this);
|
||||
this.isTiddlyWikiFakeDom = true;
|
||||
this.tag = tag;
|
||||
this.attributes = {};
|
||||
this.isRaw = false;
|
||||
this.children = [];
|
||||
this._style = {}; // Internal style object
|
||||
this.style = new TW_Style(this); // Proxy for style management
|
||||
this._style = {};
|
||||
this.namespaceURI = namespace || "http://www.w3.org/1999/xhtml";
|
||||
};
|
||||
|
||||
|
||||
Object.setPrototypeOf(TW_Element.prototype,TW_Node.prototype);
|
||||
|
||||
Object.defineProperty(TW_Element.prototype, "style", {
|
||||
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", {
|
||||
get: function() {
|
||||
return this.ELEMENT_NODE;
|
||||
@@ -133,7 +105,7 @@ TW_Element.prototype.setAttribute = function(name,value) {
|
||||
throw "Cannot setAttribute on a raw TW_Element";
|
||||
}
|
||||
if(name === "style") {
|
||||
this.style.set(value);
|
||||
this.style = value;
|
||||
} else {
|
||||
this.attributes[name] = value + "";
|
||||
}
|
||||
|
||||
@@ -924,7 +924,7 @@ exports.transliterate = function(str) {
|
||||
};
|
||||
|
||||
exports.transliterateToSafeASCII = function(str) {
|
||||
return str.replace(/[^\x20-\x7F]/g,function(ch) {
|
||||
return str.replace(/[^\x00-\x7F]/g,function(ch) {
|
||||
return exports.transliterationPairs[ch] || ""
|
||||
});
|
||||
};
|
||||
|
||||
@@ -330,18 +330,16 @@ exports.formatTitleString = function(template,options) {
|
||||
}]
|
||||
];
|
||||
while(t.length){
|
||||
var matchString = "",
|
||||
found = false;
|
||||
var matchString = "";
|
||||
$tw.utils.each(matches, function(m) {
|
||||
var match = m[0].exec(t);
|
||||
if(match) {
|
||||
found = true;
|
||||
matchString = m[1].call(null,match);
|
||||
t = t.substr(match[0].length);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
if(found) {
|
||||
if(matchString) {
|
||||
result += matchString;
|
||||
} else {
|
||||
result += t.charAt(0);
|
||||
|
||||
@@ -123,6 +123,7 @@ DataWidget.prototype.computeDataTiddlerValues = function() {
|
||||
}
|
||||
} else {
|
||||
// Apply the item fields to each of the tiddlers
|
||||
delete item.title; // Do not overwrite the title
|
||||
if(Object.keys(item).length > 0) {
|
||||
$tw.utils.each(tiddlers,function(tiddler,index) {
|
||||
tiddlers[index] = new $tw.Tiddler(tiddler,item);
|
||||
|
||||
@@ -125,23 +125,11 @@ DroppableWidget.prototype.handleDropEvent = function(event) {
|
||||
// Remove highlighting
|
||||
$tw.utils.removeClass(this.domNodes[0],"tc-dragover");
|
||||
// Try to import the various data types we understand
|
||||
if(this.droppableActions) {
|
||||
$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {
|
||||
fieldsArray.forEach(function(fields) {
|
||||
self.performActions(fields.title || fields.text,event);
|
||||
});
|
||||
$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {
|
||||
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
|
||||
event.preventDefault();
|
||||
// Stop the drop ripple up to any parent handlers
|
||||
@@ -149,13 +137,6 @@ DroppableWidget.prototype.handleDropEvent = function(event) {
|
||||
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) {
|
||||
if(this.droppableActions) {
|
||||
var modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);
|
||||
@@ -168,7 +149,6 @@ Compute the internal state of the widget
|
||||
*/
|
||||
DroppableWidget.prototype.execute = function() {
|
||||
this.droppableActions = this.getAttribute("actions");
|
||||
this.droppableListActions = this.getAttribute("listActions");
|
||||
this.droppableEffect = this.getAttribute("effect","copy");
|
||||
this.droppableTag = this.getAttribute("tag");
|
||||
this.droppableEnable = (this.getAttribute("enable") || "yes") === "yes";
|
||||
@@ -188,8 +168,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
||||
*/
|
||||
DroppableWidget.prototype.refresh = function(changedTiddlers) {
|
||||
var changedAttributes = this.computeAttributes();
|
||||
if(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass ||
|
||||
changedAttributes.actions|| changedAttributes.listActions || changedAttributes.effect) {
|
||||
if(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass || changedAttributes.actions || changedAttributes.effect) {
|
||||
this.refreshSelf();
|
||||
return true;
|
||||
} else {
|
||||
|
||||
@@ -65,16 +65,6 @@ GenesisWidget.prototype.execute = function() {
|
||||
children: this.parseTreeNode.children || [],
|
||||
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
|
||||
$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {
|
||||
var name = attribute.name;
|
||||
@@ -89,6 +79,16 @@ GenesisWidget.prototype.execute = function() {
|
||||
}
|
||||
$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
|
||||
this.makeChildWidgets(parseTreeNodes);
|
||||
};
|
||||
|
||||
@@ -163,4 +163,4 @@ ImageWidget.prototype.refresh = function(changedTiddlers) {
|
||||
|
||||
exports.image = ImageWidget;
|
||||
|
||||
})();
|
||||
})();
|
||||
|
||||
@@ -96,15 +96,13 @@ KeyboardWidget.prototype.execute = function() {
|
||||
this.param = this.getAttribute("param","");
|
||||
this.key = this.getAttribute("key","");
|
||||
this.tag = this.getAttribute("tag","");
|
||||
if($tw.keyboardManager) {
|
||||
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
|
||||
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
|
||||
this.shortcutTiddlers = [];
|
||||
var name = this.key.substring(2,this.key.length -2);
|
||||
$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {
|
||||
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
|
||||
});
|
||||
}
|
||||
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
|
||||
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
|
||||
this.shortcutTiddlers = [];
|
||||
var name = this.key.substring(2,this.key.length -2);
|
||||
$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {
|
||||
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
|
||||
});
|
||||
}
|
||||
// Make child widgets
|
||||
this.makeChildWidgets();
|
||||
@@ -128,7 +126,7 @@ KeyboardWidget.prototype.refresh = function(changedTiddlers) {
|
||||
this.assignDomNodeClasses();
|
||||
}
|
||||
// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed
|
||||
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) && $tw.keyboardManager) {
|
||||
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {
|
||||
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
|
||||
}
|
||||
return this.refreshChildren(changedTiddlers);
|
||||
|
||||
@@ -44,8 +44,7 @@ NavigatorWidget.prototype.render = function(parent,nextSibling) {
|
||||
{type: "tm-fold-tiddler", handler: "handleFoldTiddlerEvent"},
|
||||
{type: "tm-fold-other-tiddlers", handler: "handleFoldOtherTiddlersEvent"},
|
||||
{type: "tm-fold-all-tiddlers", handler: "handleFoldAllTiddlersEvent"},
|
||||
{type: "tm-unfold-all-tiddlers", handler: "handleUnfoldAllTiddlersEvent"},
|
||||
{type: "tm-manage-acl", handler: "handleManageACLTiddlersEvent"}
|
||||
{type: "tm-unfold-all-tiddlers", handler: "handleUnfoldAllTiddlersEvent"}
|
||||
]);
|
||||
this.parentDomNode = parent;
|
||||
this.computeAttributes();
|
||||
@@ -185,7 +184,7 @@ NavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {
|
||||
// Place a tiddler in edit mode
|
||||
NavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {
|
||||
var editTiddler = $tw.hooks.invokeHook("th-editing-tiddler",event),
|
||||
win = event.event && event.event.view ? event.event.view : window;
|
||||
win = event.event && event.event.view ? event.event.view : window;
|
||||
if(!editTiddler) {
|
||||
return false;
|
||||
}
|
||||
@@ -307,7 +306,7 @@ NavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {
|
||||
var title = event.param || event.tiddlerTitle,
|
||||
tiddler = this.wiki.getTiddler(title),
|
||||
storyList = this.getStoryList(),
|
||||
win = event.event && event.event.view ? event.event.view : window;
|
||||
win = event.event && event.event.view ? event.event.view : window;
|
||||
// Replace the original tiddler with the draft
|
||||
if(tiddler) {
|
||||
var draftTitle = (tiddler.fields["draft.title"] || "").trim(),
|
||||
@@ -413,8 +412,7 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
|
||||
event = $tw.hooks.invokeHook("th-new-tiddler", event);
|
||||
// Get the story details
|
||||
var storyList = this.getStoryList(),
|
||||
templateTiddler, additionalFields, title, draftTitle, existingTiddler,
|
||||
templateHasTags = false;
|
||||
templateTiddler, additionalFields, title, draftTitle, existingTiddler;
|
||||
// Get the template tiddler (if any)
|
||||
if(typeof event.param === "string") {
|
||||
// Get the template tiddler
|
||||
@@ -459,10 +457,8 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
|
||||
// Merge tags
|
||||
mergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));
|
||||
}
|
||||
var additionalFieldsHasTags = !!(additionalFields && (additionalFields.tags === ""));
|
||||
if(templateTiddler && templateTiddler.fields.tags) {
|
||||
// Merge tags
|
||||
templateHasTags = true;
|
||||
mergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);
|
||||
}
|
||||
// Save the draft tiddler
|
||||
@@ -478,8 +474,7 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
|
||||
{
|
||||
title: draftTitle,
|
||||
"draft.of": title,
|
||||
// If template or additionalFields have "tags" even if empty a tags field will be created.
|
||||
tags: ((mergedTags.length > 0) || templateHasTags || additionalFieldsHasTags) ? mergedTags : undefined
|
||||
tags: mergedTags
|
||||
},this.wiki.getModificationFields());
|
||||
this.wiki.addTiddler(draftTiddler);
|
||||
// Update the story to insert the new draft at the top and remove any existing tiddler
|
||||
@@ -531,7 +526,7 @@ NavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {
|
||||
var systemMessage = $tw.language.getString("Import/Upgrader/Tiddler/Unselected");
|
||||
$tw.utils.each(messages,function(message,title) {
|
||||
newFields["message-" + title] = message;
|
||||
if(message.indexOf(systemMessage) !== -1) {
|
||||
if (message.indexOf(systemMessage) !== -1) {
|
||||
newFields["selection-" + title] = "unchecked";
|
||||
}
|
||||
});
|
||||
@@ -636,14 +631,6 @@ NavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {
|
||||
});
|
||||
};
|
||||
|
||||
NavigatorWidget.prototype.handleManageACLTiddlersEvent = function() {
|
||||
var pathname = window.location.pathname;
|
||||
var paths = pathname.split("/");
|
||||
var recipeName = paths[paths.length - 1];
|
||||
var bagName = document.querySelector("h1.tc-site-title").innerHTML;
|
||||
window.location.href = "/admin/acl/"+recipeName+"/"+bagName
|
||||
};
|
||||
|
||||
exports.navigator = NavigatorWidget;
|
||||
|
||||
})();
|
||||
|
||||
@@ -335,7 +335,7 @@ Widget.prototype.makeFakeWidgetWithVariables = function(variables) {
|
||||
};
|
||||
} else {
|
||||
opts = opts || {};
|
||||
opts.variables = $tw.utils.extend({},variables,opts.variables);
|
||||
opts.variables = $tw.utils.extend(variables,opts.variables);
|
||||
return self.getVariableInfo(name,opts);
|
||||
};
|
||||
},
|
||||
@@ -428,11 +428,6 @@ Widget.prototype.assignAttributes = function(domNode,options) {
|
||||
destPrefix = options.destPrefix || "",
|
||||
EVENT_ATTRIBUTE_PREFIX = "on";
|
||||
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
|
||||
if(name.substr(0,6) === "style." && name.length > 6) {
|
||||
domNode.style[$tw.utils.unHyphenateCss(name.substr(6))] = value;
|
||||
|
||||
@@ -194,24 +194,18 @@ options.prefix must be a string
|
||||
*/
|
||||
exports.generateNewTitle = function(baseTitle,options) {
|
||||
options = options || {};
|
||||
var title = baseTitle,
|
||||
template = options.template || "",
|
||||
// test if .startCount is a positive integer. If not set to 0
|
||||
c = (parseInt(options.startCount,10) > 0) ? parseInt(options.startCount,10) : 0,
|
||||
var c = 0,
|
||||
title = baseTitle,
|
||||
template = options.template,
|
||||
prefix = (typeof(options.prefix) === "string") ? options.prefix : " ";
|
||||
|
||||
if (template) {
|
||||
// "count" is important to avoid an endless loop in while(...)!!
|
||||
template = (/\$count:?(\d+)?\$/i.test(template)) ? template : template + "$count$";
|
||||
// .formatTitleString() expects strings as input
|
||||
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":c+""});
|
||||
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":c});
|
||||
while(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {
|
||||
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":(++c)+""});
|
||||
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":(++c)});
|
||||
}
|
||||
} else {
|
||||
if (c > 0) {
|
||||
title = baseTitle + prefix + c;
|
||||
}
|
||||
while(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {
|
||||
title = baseTitle + prefix + (++c);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #0000aa
|
||||
external-link-foreground: #0000ee
|
||||
footnote-target-background: #ecf2ff
|
||||
foreground: #333333
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -33,7 +33,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #0000aa
|
||||
external-link-foreground: #0000ee
|
||||
footnote-target-background: #ecf2ff
|
||||
foreground: #333353
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -33,7 +33,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #0000aa
|
||||
external-link-foreground: #0000ee
|
||||
footnote-target-background: #ecf2ff
|
||||
foreground: #333333
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
title: $:/palettes/ContrastDark
|
||||
name: Contrast (Dark)
|
||||
color-scheme: dark
|
||||
description: High contrast and unambiguous (dark version)
|
||||
title: $:/palettes/ContrastLight
|
||||
name: Contrast (Light)
|
||||
color-scheme: light
|
||||
description: High contrast and unambiguous (light version)
|
||||
tags: $:/tags/Palette
|
||||
type: application/x-tiddler-dictionary
|
||||
|
||||
@@ -9,7 +9,7 @@ alert-background: #f00
|
||||
alert-border: <<colour background>>
|
||||
alert-highlight: <<colour foreground>>
|
||||
alert-muted-foreground: #800
|
||||
background: #000
|
||||
background: #fff
|
||||
blockquote-bar: <<colour muted-foreground>>
|
||||
button-background: <<colour background>>
|
||||
button-foreground: <<colour foreground>>
|
||||
@@ -33,8 +33,7 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #00a
|
||||
external-link-foreground: #00e
|
||||
footnote-target-background: #4c4c4c
|
||||
foreground: #fff
|
||||
foreground: #000
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
message-background: <<colour foreground>>
|
||||
@@ -83,8 +82,8 @@ tab-foreground: <<colour background>>
|
||||
table-border: #dddddd
|
||||
table-footer-background: #a8a8a8
|
||||
table-header-background: #f0f0f0
|
||||
tag-background: #fff
|
||||
tag-foreground: #000
|
||||
tag-background: #000
|
||||
tag-foreground: #fff
|
||||
tiddler-background: <<colour background>>
|
||||
tiddler-border: <<colour foreground>>
|
||||
tiddler-controls-foreground-hover: #ddd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
title: $:/palettes/ContrastLight
|
||||
name: Contrast (Light)
|
||||
color-scheme: light
|
||||
description: High contrast and unambiguous (light version)
|
||||
title: $:/palettes/ContrastDark
|
||||
name: Contrast (Dark)
|
||||
color-scheme: dark
|
||||
description: High contrast and unambiguous (dark version)
|
||||
tags: $:/tags/Palette
|
||||
type: application/x-tiddler-dictionary
|
||||
|
||||
@@ -9,7 +9,7 @@ alert-background: #f00
|
||||
alert-border: <<colour background>>
|
||||
alert-highlight: <<colour foreground>>
|
||||
alert-muted-foreground: #800
|
||||
background: #fff
|
||||
background: #000
|
||||
blockquote-bar: <<colour muted-foreground>>
|
||||
button-background: <<colour background>>
|
||||
button-foreground: <<colour foreground>>
|
||||
@@ -33,8 +33,7 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #00a
|
||||
external-link-foreground: #00e
|
||||
footnote-target-background: #e5e5e5
|
||||
foreground: #000
|
||||
foreground: #fff
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
message-background: <<colour foreground>>
|
||||
@@ -83,8 +82,8 @@ tab-foreground: <<colour background>>
|
||||
table-border: #dddddd
|
||||
table-footer-background: #a8a8a8
|
||||
table-header-background: #f0f0f0
|
||||
tag-background: #000
|
||||
tag-foreground: #fff
|
||||
tag-background: #fff
|
||||
tag-foreground: #000
|
||||
tiddler-background: <<colour background>>
|
||||
tiddler-border: <<colour foreground>>
|
||||
tiddler-controls-foreground-hover: #ddd
|
||||
|
||||
@@ -31,7 +31,6 @@ external-link-background: transparent
|
||||
external-link-foreground-hover:
|
||||
external-link-foreground-visited: #BF5AF2
|
||||
external-link-foreground: #32D74B
|
||||
footnote-target-background: #747474
|
||||
foreground: #FFFFFF
|
||||
highlight-background: #ffff78
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -35,7 +35,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #0000aa
|
||||
external-link-foreground: #0000ee
|
||||
footnote-target-background: #ecf2ff
|
||||
foreground: #333333
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -39,7 +39,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #313163
|
||||
external-link-foreground: #555592
|
||||
footnote-target-background: #fff7d9
|
||||
foreground: #2D2A23
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -1,212 +0,0 @@
|
||||
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-100>>
|
||||
alert-border: <<colour flexoki-ye-2>>
|
||||
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-paper>>
|
||||
diff-equal-background:
|
||||
diff-equal-foreground: inherit
|
||||
diff-insert-background: <<colour flexoki-gr>>
|
||||
diff-insert-foreground: <<colour flexoki-paper>>
|
||||
diff-invisible-background: <<colour flexoki-ye>>
|
||||
diff-invisible-foreground: <<colour flexoki-paper>>
|
||||
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: #ffff00
|
||||
highlight-foreground: #000000
|
||||
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-ui-3>>
|
||||
notification-border: <<colour flexoki-ui>>
|
||||
page-background: <<colour flexoki-bg-2>>
|
||||
pre-background: <<colour flexoki-ui-3>>
|
||||
pre-border: <<colour flexoki-ui-2>>
|
||||
primary: <<colour flexoki-cy>>
|
||||
selection-background: #2b7b73
|
||||
selection-foreground: <<colour flexoki-tx>>
|
||||
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: #e5e5e5
|
||||
wikilist-item: #fff
|
||||
wikilist-info: #000
|
||||
wikilist-title: #666
|
||||
wikilist-title-svg: <<colour wikilist-title>>
|
||||
wikilist-url: #aaa
|
||||
wikilist-button-open: #4fb82b
|
||||
wikilist-button-open-hover: green
|
||||
wikilist-button-reveal: #5778d8
|
||||
wikilist-button-reveal-hover: blue
|
||||
wikilist-button-remove: #d85778
|
||||
wikilist-button-remove-hover: red
|
||||
wikilist-toolbar-background: #d3d3d3
|
||||
wikilist-toolbar-foreground: #888
|
||||
wikilist-droplink-dragover: rgba(255,192,192,0.5)
|
||||
wikilist-button-background: #acacac
|
||||
wikilist-button-foreground: #000
|
||||
@@ -1,214 +0,0 @@
|
||||
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: #fff
|
||||
dropdown-tab-background: #ececec
|
||||
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: #ffff00
|
||||
highlight-foreground: #000000
|
||||
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>>
|
||||
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: #fff
|
||||
wikilist-info: #000
|
||||
wikilist-title: #666
|
||||
wikilist-title-svg: <<colour wikilist-title>>
|
||||
wikilist-url: #aaa
|
||||
wikilist-button-open: #4fb82b
|
||||
wikilist-button-open-hover: green
|
||||
wikilist-button-reveal: #5778d8
|
||||
wikilist-button-reveal-hover: blue
|
||||
wikilist-button-remove: #d85778
|
||||
wikilist-button-remove-hover: red
|
||||
wikilist-toolbar-background: #d3d3d3
|
||||
wikilist-toolbar-foreground: #888
|
||||
wikilist-droplink-dragover: rgba(255,192,192,0.5)
|
||||
wikilist-button-background: #acacac
|
||||
wikilist-button-foreground: #000
|
||||
@@ -40,7 +40,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #d3869b
|
||||
external-link-foreground: #8ec07c
|
||||
footnote-target-background: #665c54
|
||||
foreground: #fbf1c7
|
||||
highlight-background: #ffff79
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -40,7 +40,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #5E81AC
|
||||
external-link-foreground: #8FBCBB
|
||||
footnote-target-background: #2E3440
|
||||
foreground: #d8dee9
|
||||
highlight-background: #ffff78
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -33,7 +33,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #0000aa
|
||||
external-link-foreground: #0000ee
|
||||
footnote-target-background: #ecf2ff
|
||||
foreground: #333333
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -131,7 +131,6 @@ external-link-background-hover: inherit
|
||||
external-link-background-visited: inherit
|
||||
external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
footnote-target-background: #ded8c5
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
message-border: #cfd6e6
|
||||
@@ -142,10 +141,6 @@ sidebar-controls-foreground-hover:
|
||||
sidebar-muted-foreground-hover:
|
||||
sidebar-tab-background: #ded8c5
|
||||
sidebar-tiddler-link-foreground-hover:
|
||||
stability-deprecated: <<colour red>>
|
||||
stability-experimental: <<colour yellow>>
|
||||
stability-legacy: <<colour blue>>
|
||||
stability-stable: <<colour green>>
|
||||
static-alert-foreground: #aaaaaa
|
||||
tab-border: #cccccc
|
||||
modal-footer-border: <<colour tab-border>>
|
||||
|
||||
@@ -34,7 +34,6 @@ external-link-background-visited: inherit
|
||||
external-link-foreground: #268bd2
|
||||
external-link-foreground-hover:
|
||||
external-link-foreground-visited: #268bd2
|
||||
footnote-target-background: #073642
|
||||
foreground: #839496
|
||||
highlight-background: #ffff78
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -34,7 +34,6 @@ external-link-background-visited: inherit
|
||||
external-link-foreground: #268bd2
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #268bd2
|
||||
footnote-target-background: #eee8d5
|
||||
foreground: #657b83
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -33,7 +33,6 @@ external-link-background: transparent
|
||||
external-link-foreground-hover:
|
||||
external-link-foreground-visited:
|
||||
external-link-foreground:
|
||||
footnote-target-background: #ececec
|
||||
foreground: rgba(0, 0, 0, 0.87)
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -33,7 +33,6 @@ external-link-background: transparent
|
||||
external-link-foreground-hover:
|
||||
external-link-foreground-visited: #7c318c
|
||||
external-link-foreground: #9e3eb3
|
||||
footnote-target-background: #494949
|
||||
foreground: rgba(255, 255, 255, 0.7)
|
||||
highlight-background: #ffff78
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -42,7 +42,6 @@ external-link-background-visited: inherit
|
||||
external-link-foreground: rgb(179, 179, 255)
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: rgb(153, 153, 255)
|
||||
footnote-target-background: <<colour tag-foreground>>
|
||||
foreground: rgb(179, 179, 179)
|
||||
highlight-background: #ffff78
|
||||
highlight-foreground: #000000
|
||||
|
||||
@@ -32,7 +32,7 @@ dragger-background: <<colour foreground>>
|
||||
dragger-foreground: <<colour background>>
|
||||
dropdown-background: <<colour background>>
|
||||
dropdown-border: <<colour muted-foreground>>
|
||||
dropdown-tab-background-selected: #ffffff
|
||||
dropdown-tab-background-selected: #fff
|
||||
dropdown-tab-background: #ececec
|
||||
dropzone-background: rgba(0,200,0,0.7)
|
||||
external-link-background-hover: inherit
|
||||
@@ -41,7 +41,6 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #0000aa
|
||||
external-link-foreground: #0000ee
|
||||
footnote-target-background: #ecf2ff
|
||||
foreground: #333333
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
@@ -54,7 +53,7 @@ modal-border: #999999
|
||||
modal-footer-background: #f5f5f5
|
||||
modal-footer-border: #dddddd
|
||||
modal-header-border: #eeeeee
|
||||
muted-foreground: #bbbbbb
|
||||
muted-foreground: #bbb
|
||||
network-activity-foreground: #448844
|
||||
notification-background: #ffffdd
|
||||
notification-border: #999999
|
||||
@@ -98,7 +97,7 @@ tab-foreground: #666666
|
||||
table-border: #dddddd
|
||||
table-footer-background: #a8a8a8
|
||||
table-header-background: #f0f0f0
|
||||
tag-background: #eecc66
|
||||
tag-background: #ec6
|
||||
tag-foreground: #ffffff
|
||||
testcase-accent-level-1: #c1eaff
|
||||
testcase-accent-level-2: #E3B740
|
||||
@@ -132,11 +131,11 @@ toolbar-done-button:
|
||||
untagged-background: #999999
|
||||
very-muted-foreground: #888888
|
||||
wikilist-background: #e5e5e5
|
||||
wikilist-item: #ffffff
|
||||
wikilist-info: #000000
|
||||
wikilist-title: #666666
|
||||
wikilist-item: #fff
|
||||
wikilist-info: #000
|
||||
wikilist-title: #666
|
||||
wikilist-title-svg: <<colour wikilist-title>>
|
||||
wikilist-url: #aaaaaa
|
||||
wikilist-url: #aaa
|
||||
wikilist-button-open: #4fb82b
|
||||
wikilist-button-open-hover: green
|
||||
wikilist-button-reveal: #5778d8
|
||||
@@ -144,7 +143,7 @@ wikilist-button-reveal-hover: blue
|
||||
wikilist-button-remove: #d85778
|
||||
wikilist-button-remove-hover: red
|
||||
wikilist-toolbar-background: #d3d3d3
|
||||
wikilist-toolbar-foreground: #888888
|
||||
wikilist-toolbar-foreground: #888
|
||||
wikilist-droplink-dragover: rgba(255,192,192,0.5)
|
||||
wikilist-button-background: #acacac
|
||||
wikilist-button-foreground: #000000
|
||||
wikilist-button-foreground: #000
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
title: $:/core/templates/server/static.tiddler.wikitext
|
||||
|
||||
\whitespace trim
|
||||
<div class="tc-tiddler-title tc-clearfix">
|
||||
<div class="tc-tiddler-title">
|
||||
<div class="tc-titlebar">
|
||||
<h2><$text text=<<currentTiddler>>/></h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tc-subtitle tc-clearfix">
|
||||
<div class="tc-subtitle">
|
||||
<$link to={{!!modifier}}>
|
||||
<$view field="modifier"/>
|
||||
</$link> <$view field="modified" format="date" template={{$:/language/Tiddler/DateFormat}}/>
|
||||
</div>
|
||||
<div class="tc-tags-wrapper" tc-clearfix>
|
||||
<div class="tc-tags-wrapper">
|
||||
<$list filter="[all[current]tags[]sort[title]]">
|
||||
<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>
|
||||
<$macrocall $name="tag-pill" tag=<<currentTiddler>>/>
|
||||
</a>
|
||||
</$list>
|
||||
</div>
|
||||
<div class="tc-tiddler-body tc-clearfix">
|
||||
<div class="tc-tiddler-body">
|
||||
<$transclude mode="block"/>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,7 @@ tags: $:/tags/RawMarkupWikified
|
||||
\procedure meta-plain(name,source,name-attribute:"name")
|
||||
\whitespace trim
|
||||
<%if [<source>has[text]] %>
|
||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>">
|
||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>">
|
||||
<$text text={{{ [charcode[10]] }}}/>
|
||||
<%endif%>
|
||||
\end meta-plain
|
||||
@@ -13,7 +13,7 @@ tags: $:/tags/RawMarkupWikified
|
||||
\whitespace trim
|
||||
<%if [<source>has[text]] %>
|
||||
<$wikify name="html" text={{{ [<source>get[text]] }}} output="text">
|
||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>">
|
||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>">
|
||||
<$text text={{{ [charcode[10]] }}}/>
|
||||
</$wikify>
|
||||
<%endif%>
|
||||
@@ -27,7 +27,7 @@ tags: $:/tags/RawMarkupWikified
|
||||
<<meta-plain "og:type" "website" "property">>
|
||||
<<meta-wikified "og:title" "$:/SiteTitle" "property">>
|
||||
<<meta-wikified "og:description" "$:/SiteSubtitle" "property">>
|
||||
<<meta-plain "og:image" "$:/SitePreviewUrl" "property">>
|
||||
<<meta-plain "og:image" "$:/SitePreviewImageUrl" "property">>
|
||||
|
||||
<!-- Twitter Meta Tags -->
|
||||
<<meta-plain "twitter:card" "summary_large_image">>
|
||||
@@ -35,4 +35,4 @@ tags: $:/tags/RawMarkupWikified
|
||||
<<meta-plain "twitter:url" "$:/SiteUrl" "property">>
|
||||
<<meta-wikified "twitter:title" "$:/SiteTitle">>
|
||||
<<meta-wikified "twitter:description" "$:/SiteSubtitle">>
|
||||
<<meta-plain "twitter:image" "$:/SitePreviewUrl">>
|
||||
<<meta-plain "twitter:image" "$:/SitePreviewImageUrl">>
|
||||
|
||||
@@ -57,4 +57,3 @@ title: $:/core/templates/tiddlywiki5.html
|
||||
`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`
|
||||
</body>
|
||||
</html>`
|
||||
</$set>
|
||||
|
||||
@@ -2,10 +2,10 @@ title: $:/core/ui/Actions/new-journal
|
||||
tags: $:/tags/Actions
|
||||
description: create a new journal tiddler
|
||||
|
||||
\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$
|
||||
\whitespace trim
|
||||
\function get-tags() [<textFieldTags>] [<tagsFieldTags>] +[join[ ]]
|
||||
<$let journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>
|
||||
<$wikify name="journalTitle" text="<$transclude $variable='now' format=<<journalTitleTemplate>>/>">
|
||||
<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>
|
||||
<$wikify name="journalTitle" text="<$macrocall $name='now' format=<<journalTitleTemplate>>/>">
|
||||
<$reveal type="nomatch" state=<<journalTitle>> text="">
|
||||
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<get-tags>> text={{{ [<journalTitle>get[]] }}}/>
|
||||
</$reveal>
|
||||
@@ -13,4 +13,4 @@ description: create a new journal tiddler
|
||||
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<get-tags>> text=<<journalText>>/>
|
||||
</$reveal>
|
||||
</$wikify>
|
||||
</$let>
|
||||
</$vars>
|
||||
|
||||
@@ -2,8 +2,8 @@ title: $:/core/ui/Actions/new-tiddler
|
||||
tags: $:/tags/Actions
|
||||
description: create a new empty tiddler
|
||||
|
||||
\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$
|
||||
\whitespace trim
|
||||
\function get-tags() [<textFieldTags>] [<tagsFieldTags>] +[join[ ]]
|
||||
<$let textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>
|
||||
<$vars textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>
|
||||
<$action-sendmessage $message="tm-new-tiddler" tags=<<get-tags>>/>
|
||||
</$let>
|
||||
</$vars>
|
||||
|
||||
@@ -2,101 +2,76 @@ title: $:/core/ui/AdvancedSearch/Filter
|
||||
tags: $:/tags/AdvancedSearch
|
||||
caption: {{$:/language/Search/Filter/Caption}}
|
||||
|
||||
\procedure lingo-base() $:/language/Search/
|
||||
\procedure set-next-input-tab()
|
||||
<$transclude $variable="change-input-tab"
|
||||
\define lingo-base() $:/language/Search/
|
||||
\define set-next-input-tab(beforeafter:"after")
|
||||
<$macrocall $name="change-input-tab"
|
||||
stateTitle="$:/state/tab--1498284803"
|
||||
tag="$:/tags/AdvancedSearch"
|
||||
beforeafter="after"
|
||||
beforeafter="$beforeafter$"
|
||||
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
|
||||
/>
|
||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||
\end
|
||||
|
||||
\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()
|
||||
\define cancel-search-actions()
|
||||
\whitespace trim
|
||||
<$list filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]">
|
||||
<$list-empty>
|
||||
<$action-deletetiddler $filter="[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]"/>
|
||||
</$list-empty>
|
||||
<$list
|
||||
filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]"
|
||||
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>
|
||||
\end
|
||||
|
||||
\procedure input-accept-actions()
|
||||
\define input-accept-actions()
|
||||
\whitespace trim
|
||||
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
|
||||
<$list-empty>
|
||||
<$list filter="[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]">
|
||||
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
|
||||
</$list>
|
||||
<$/list-empty>
|
||||
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
|
||||
<$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>
|
||||
\end
|
||||
|
||||
\procedure input-accept-variant-actions()
|
||||
\define input-accept-variant-actions()
|
||||
\whitespace trim
|
||||
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
|
||||
<$list-empty>
|
||||
<$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-empty>
|
||||
<$list filter="[<tiddler>get[text]minlength[1]]">
|
||||
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
|
||||
</$list>
|
||||
</$list>
|
||||
<$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>
|
||||
\end
|
||||
|
||||
\whitespace trim
|
||||
|
||||
<<lingo Filter/Hint>>
|
||||
|
||||
<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-left))" actions=<<set-previous-input-tab>>>
|
||||
<$transclude $variable="keyboard-driven-input"
|
||||
tiddler="$:/temp/advancedsearch/input"
|
||||
storeTitle="$:/temp/advancedsearch"
|
||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||
selectionStateTitle="$:/temp/advancedsearch/selected-item"
|
||||
type="search"
|
||||
tag="input"
|
||||
focus={{$:/config/Search/AutoFocus}}
|
||||
configTiddlerFilter="[[$:/temp/advancedsearch]]"
|
||||
firstSearchFilterField="text"
|
||||
inputAcceptActions=<<input-accept-actions>>
|
||||
inputAcceptVariantActions=<<input-accept-variant-actions>>
|
||||
inputCancelActions=<<cancel-search-actions>>
|
||||
/>
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]">
|
||||
<$transclude/>
|
||||
</$list>
|
||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
||||
<$macrocall $name="keyboard-driven-input"
|
||||
tiddler="$:/temp/advancedsearch/input"
|
||||
storeTitle="$:/temp/advancedsearch"
|
||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||
selectionStateTitle="$:/temp/advancedsearch/selected-item"
|
||||
type="search"
|
||||
tag="input"
|
||||
focus={{$:/config/Search/AutoFocus}}
|
||||
configTiddlerFilter="[[$:/temp/advancedsearch]]"
|
||||
firstSearchFilterField="text"
|
||||
inputAcceptActions=<<input-accept-actions>>
|
||||
inputAcceptVariantActions=<<input-accept-variant-actions>>
|
||||
inputCancelActions=<<cancel-search-actions>>/>
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
 
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]"><$transclude/></$list>
|
||||
</div>
|
||||
|
||||
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="" tag="div" class="tc-search-results">
|
||||
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
|
||||
<p><<lingo Filter/Matches>></p>
|
||||
<$list filter={{$:/temp/advancedsearch}}>
|
||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
|
||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||
</span>
|
||||
</$list>
|
||||
</$set>
|
||||
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
|
||||
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
|
||||
<div class="tc-search-results">
|
||||
<p><<lingo Filter/Matches>></p>
|
||||
<$list filter={{$:/temp/advancedsearch}}>
|
||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||
</span>
|
||||
</$list>
|
||||
</div>
|
||||
</$set>
|
||||
</$reveal>
|
||||
|
||||
@@ -3,27 +3,18 @@ tags: $:/tags/AdvancedSearch
|
||||
caption: {{$:/language/Search/Shadows/Caption}}
|
||||
first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]
|
||||
|
||||
\procedure lingo-base() $:/language/Search/
|
||||
\define lingo-base() $:/language/Search/
|
||||
|
||||
\procedure set-next-input-tab()
|
||||
<$transclude $variable="change-input-tab"
|
||||
\define set-next-input-tab(beforeafter:"after")
|
||||
<$macrocall $name="change-input-tab"
|
||||
stateTitle="$:/state/tab--1498284803"
|
||||
tag="$:/tags/AdvancedSearch"
|
||||
beforeafter="after"
|
||||
beforeafter="$beforeafter$"
|
||||
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||
\end
|
||||
|
||||
\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()
|
||||
\define cancel-search-actions()
|
||||
\whitespace trim
|
||||
<$list
|
||||
filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]"
|
||||
@@ -34,22 +25,22 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
|
||||
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
||||
\end
|
||||
|
||||
\procedure input-accept-actions()
|
||||
\define input-accept-actions()
|
||||
\whitespace trim
|
||||
<$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]] }}}/>
|
||||
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>
|
||||
\end
|
||||
|
||||
\procedure input-accept-variant-actions()
|
||||
\define input-accept-variant-actions()
|
||||
\whitespace trim
|
||||
<$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]] }}}/>
|
||||
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>
|
||||
\end
|
||||
|
||||
@@ -59,8 +50,8 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
|
||||
|
||||
<div class="tc-search">
|
||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
|
||||
<$transclude $variable="keyboard-driven-input"
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
||||
<$macrocall $name="keyboard-driven-input"
|
||||
tiddler="$:/temp/advancedsearch/input"
|
||||
storeTitle="$:/temp/advancedsearch"
|
||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||
@@ -88,18 +79,14 @@ 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">
|
||||
|
||||
<$set name="resultCount" value={{{ [all[shadows]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :and[count[]]}}}>
|
||||
<$set name="resultCount" value="<$count filter='[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]'/>">
|
||||
|
||||
<div class="tc-search-results">
|
||||
|
||||
<%if [<resultCount>match[0]] %>
|
||||
{{$:/language/Search/Matches/NoMatch}}
|
||||
<%else%>
|
||||
<<lingo Shadows/Matches>>
|
||||
<%endif%>
|
||||
<<lingo Shadows/Matches>>
|
||||
|
||||
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]]">
|
||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
|
||||
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]">
|
||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||
</span>
|
||||
</$list>
|
||||
|
||||
@@ -2,20 +2,16 @@ title: $:/core/ui/AdvancedSearch/Standard
|
||||
tags: $:/tags/AdvancedSearch
|
||||
caption: {{$:/language/Search/Standard/Caption}}
|
||||
|
||||
\procedure lingo-base() $:/language/Search/
|
||||
\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 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-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 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 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 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 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-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 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>
|
||||
\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>
|
||||
|
||||
\whitespace trim
|
||||
|
||||
@@ -23,10 +19,10 @@ caption: {{$:/language/Search/Standard/Caption}}
|
||||
|
||||
<div class="tc-search">
|
||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
||||
<$keyboard key="shift-alt-Right" actions=<<next-search-tab>>>
|
||||
<$keyboard key="shift-alt-Left" actions=<<previous-search-tab>>>
|
||||
<$transclude $variable="keyboard-driven-input"
|
||||
<$keyboard key="shift-alt-Left" actions=<<next-search-tab "before">>>
|
||||
<$macrocall $name="keyboard-driven-input"
|
||||
tiddler="$:/temp/advancedsearch/input"
|
||||
storeTitle="$:/temp/advancedsearch"
|
||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||
@@ -37,13 +33,12 @@ caption: {{$:/language/Search/Standard/Caption}}
|
||||
inputCancelActions=<<cancel-search-actions>>
|
||||
inputAcceptActions=<<input-accept-actions>>
|
||||
inputAcceptVariantActions=<<input-accept-variant-actions>>
|
||||
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]"
|
||||
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]"
|
||||
filterMinLength={{$:/config/Search/MinLength}}/>
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
 
|
||||
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
|
||||
<$button class="tc-btn-invisible">
|
||||
<<cancel-search-actions>>
|
||||
@@ -59,18 +54,18 @@ caption: {{$:/language/Search/Standard/Caption}}
|
||||
variable="listItem">
|
||||
<$vars
|
||||
userInput={{{ [[$:/temp/advancedsearch]get[text]] }}}
|
||||
configTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}
|
||||
configTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}
|
||||
searchListState="$:/temp/advancedsearch/selected-item">
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]">
|
||||
<$list-empty>
|
||||
<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode="block"/></$list>
|
||||
</$list-empty>
|
||||
<$transclude $variable="tabs"
|
||||
<$macrocall $name="tabs"
|
||||
tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"
|
||||
default={{$:/config/SearchResults/Default}}
|
||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<currentTab>>/>"
|
||||
explicitState="$:/state/tab/search-results/advancedsearch" />
|
||||
</$list>
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]] :else[[]]">
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"><$transclude mode="block"/></$list>
|
||||
</$list>
|
||||
</$vars>
|
||||
</$list>
|
||||
</$reveal>
|
||||
|
||||
@@ -1,28 +1,19 @@
|
||||
title: $:/core/ui/AdvancedSearch/System
|
||||
tags: $:/tags/AdvancedSearch
|
||||
caption: {{$:/language/Search/System/Caption}}
|
||||
first-search-filter: [is[system]search<userInput>sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]
|
||||
first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]
|
||||
|
||||
\procedure lingo-base() $:/language/Search/
|
||||
\procedure set-next-input-tab()
|
||||
<$transclude $variable="change-input-tab"
|
||||
\define lingo-base() $:/language/Search/
|
||||
\define set-next-input-tab(beforeafter:"after",stateTitle,tag,defaultState,currentTabTiddler)
|
||||
<$macrocall $name="change-input-tab"
|
||||
stateTitle="$:/state/tab--1498284803"
|
||||
tag="$:/tags/AdvancedSearch"
|
||||
beforeafter="after"
|
||||
beforeafter="$beforeafter$"
|
||||
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
||||
\end
|
||||
|
||||
\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()
|
||||
\define cancel-search-actions()
|
||||
\whitespace trim
|
||||
<$list
|
||||
filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]"
|
||||
@@ -33,22 +24,22 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] :except[
|
||||
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
||||
\end
|
||||
|
||||
\procedure input-accept-actions()
|
||||
\define input-accept-actions()
|
||||
\whitespace trim
|
||||
<$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]] }}}/>
|
||||
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>
|
||||
\end
|
||||
|
||||
\procedure input-accept-variant-actions()
|
||||
\define input-accept-variant-actions()
|
||||
\whitespace trim
|
||||
<$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]] }}}/>
|
||||
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>
|
||||
\end
|
||||
|
||||
@@ -58,8 +49,8 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] :except[
|
||||
|
||||
<div class="tc-search">
|
||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
|
||||
<$transclude $variable="keyboard-driven-input"
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
||||
<$macrocall $name="keyboard-driven-input"
|
||||
tiddler="$:/temp/advancedsearch/input"
|
||||
storeTitle="$:/temp/advancedsearch"
|
||||
refreshTitle="$:/temp/advancedsearch/refresh"
|
||||
@@ -87,18 +78,14 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] :except[
|
||||
|
||||
<$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}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>
|
||||
<$set name="resultCount" value="<$count filter='[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]'/>">
|
||||
|
||||
<div class="tc-search-results">
|
||||
|
||||
<%if [<resultCount>match[0]] %>
|
||||
{{$:/language/Search/Matches/NoMatch}}
|
||||
<%else%>
|
||||
<<lingo System/Matches>>
|
||||
<%endif%>
|
||||
<<lingo System/Matches>>
|
||||
|
||||
<$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]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
|
||||
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]">
|
||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||
</span>
|
||||
</$list>
|
||||
|
||||
@@ -47,13 +47,13 @@ $:/config/Plugins/Disabled/$(currentTiddler)$
|
||||
<h2>
|
||||
<div>
|
||||
<%if [<currentTiddler>get[stability]match[STABILITY_0_DEPRECATED]] %>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated"><<lingo "Stability/Deprecated">></span>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated">DEPRECATED</span>
|
||||
<%elseif [<currentTiddler>get[stability]match[STABILITY_1_EXPERIMENTAL]] %>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental"><<lingo "Stability/Experimental">></span>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental">EXPERIMENTAL</span>
|
||||
<%elseif [<currentTiddler>get[stability]match[STABILITY_2_STABLE]] %>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable"><<lingo "Stability/Stable">></span>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable">STABLE</span>
|
||||
<%elseif [<currentTiddler>get[stability]match[STABILITY_3_LEGACY]] %>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy"><<lingo "Stability/Legacy">></span>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy">LEGACY</span>
|
||||
<%endif%>
|
||||
<em><$view field="version"/></em></div>
|
||||
</h2>
|
||||
|
||||
@@ -2,7 +2,22 @@ title: $:/core/ui/ControlPanel/Basics
|
||||
tags: $:/tags/ControlPanel/Info
|
||||
caption: {{$:/language/ControlPanel/Basics/Caption}}
|
||||
|
||||
\procedure lingo-base() $:/language/ControlPanel/Basics/
|
||||
\define lingo-base() $:/language/ControlPanel/Basics/
|
||||
|
||||
\define show-filter-count(filter)
|
||||
\whitespace trim
|
||||
<$button class="tc-btn-invisible">
|
||||
<$action-setfield $tiddler="$:/temp/advancedsearch" $value="""$filter$"""/>
|
||||
<$action-setfield $tiddler="$:/temp/advancedsearch/input" $value="""$filter$"""/>
|
||||
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
|
||||
<$action-setfield $tiddler="$:/state/tab--1498284803" $value="$:/core/ui/AdvancedSearch/Filter"/>
|
||||
<$action-navigate $to="$:/AdvancedSearch"/>
|
||||
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
||||
''<$count filter="""$filter$"""/>''
|
||||
 
|
||||
{{$:/core/images/advanced-search-button}}
|
||||
</$button>
|
||||
\end
|
||||
\whitespace trim
|
||||
|
||||
|tc-max-width tc-edit-max-width|k
|
||||
@@ -10,7 +25,7 @@ caption: {{$:/language/ControlPanel/Basics/Caption}}
|
||||
|<$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
|
||||
|<$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
|
||||
|<$link to="$:/status/UserName"><<lingo Username/Prompt>></$link> |<$edit-text tiddler="$:/status/UserName" default="" tag="input"/> |
|
||||
|<$link to="$:/config/AnimationDuration"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler="$:/config/AnimationDuration" default="" tag="input" type="number"/> |
|
||||
|<$link to="$:/config/AnimationDuration"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler="$:/config/AnimationDuration" default="" tag="input"/> |
|
||||
|<$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit class="tc-edit-texteditor" tiddler="$:/DefaultTiddlers" autoHeight="yes"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
|
||||
|<$link to="$:/language/DefaultNewTiddlerTitle"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler="$:/language/DefaultNewTiddlerTitle" default="" tag="input"/> |
|
||||
|<$link to="$:/config/NewJournal/Title"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler="$:/config/NewJournal/Title" default="" tag="input"/> |
|
||||
|
||||
@@ -75,13 +75,13 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
|
||||
<h2><$view tiddler=<<assetInfo>> field="original-title"/></h2>
|
||||
<div>
|
||||
<%if [<assetInfo>get[stability]match[STABILITY_0_DEPRECATED]] %>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated">{{$:/language/ControlPanel/Plugins/Stability/Deprecated}}</span>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated">DEPRECATED</span>
|
||||
<%elseif [<assetInfo>get[stability]match[STABILITY_1_EXPERIMENTAL]] %>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental">{{$:/language/ControlPanel/Plugins/Stability/Experimental}}</span>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental">EXPERIMENTAL</span>
|
||||
<%elseif [<assetInfo>get[stability]match[STABILITY_2_STABLE]] %>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable">{{$:/language/ControlPanel/Plugins/Stability/Stable}}</span>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable">STABLE</span>
|
||||
<%elseif [<assetInfo>get[stability]match[STABILITY_3_LEGACY]] %>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy">{{$:/language/ControlPanel/Plugins/Stability/Legacy}}</span>
|
||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy">LEGACY</span>
|
||||
<%endif%>
|
||||
<em><$view tiddler=<<assetInfo>> field="version"/></em></div>
|
||||
<$list filter="[<assetInfo>get[original-title]get[version]]" variable="installedVersion"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>
|
||||
|
||||
@@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}
|
||||
|<<lingo Branch>> |<$edit-text tiddler="$:/GitHub/Branch" default="main" tag="input"/> |
|
||||
|<<lingo Path>> |<$edit-text tiddler="$:/GitHub/Path" default="" tag="input"/> |
|
||||
|<<lingo Filename>> |<$edit-text tiddler="$:/GitHub/Filename" default="" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitHub/ServerURL" default="https://api.github.com" tag="input" type="url"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitHub/ServerURL" default="https://api.github.com" tag="input"/> |
|
||||
@@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}
|
||||
|<<lingo Branch>> |<$edit-text tiddler="$:/GitLab/Branch" default="master" tag="input"/> |
|
||||
|<<lingo Path>> |<$edit-text tiddler="$:/GitLab/Path" default="" tag="input"/> |
|
||||
|<<lingo Filename>> |<$edit-text tiddler="$:/GitLab/Filename" default="" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitLab/ServerURL" default="https://gitlab.com/api/v4" tag="input" type="url"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitLab/ServerURL" default="https://gitlab.com/api/v4" tag="input"/> |
|
||||
@@ -34,7 +34,7 @@ http://$(userName)$.tiddlyspot.com/$path$/
|
||||
|
||||
''<<lingo Advanced/Heading>>''
|
||||
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/UploadURL" default="" tag="input" type="url"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/UploadURL" default="" tag="input"/> |
|
||||
|<<lingo Filename>> |<$edit-text tiddler="$:/UploadFilename" default="index.html" tag="input"/> |
|
||||
|<<lingo UploadDir>> |<$edit-text tiddler="$:/UploadDir" default="." tag="input"/> |
|
||||
|<<lingo BackupDir>> |<$edit-text tiddler="$:/UploadBackupDir" default="." tag="input"/> |
|
||||
|
||||
@@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}
|
||||
|<<lingo Branch>> |<$edit-text tiddler="$:/Gitea/Branch" default="master" tag="input"/> |
|
||||
|<<lingo Path>> |<$edit-text tiddler="$:/Gitea/Path" default="" tag="input"/> |
|
||||
|<<lingo Filename>> |<$edit-text tiddler="$:/Gitea/Filename" default="" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/Gitea/ServerURL" default="https://gitea/api/v1" tag="input" type="url"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/Gitea/ServerURL" default="https://gitea/api/v1" tag="input"/> |
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
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"/> |
|
||||
@@ -8,9 +8,9 @@ caption: {{$:/language/ControlPanel/SocialCard/Caption}}
|
||||
|
||||
|<$link to="$:/SiteTitle"><<lingo Basics/Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
|
||||
|<$link to="$:/SiteSubtitle"><<lingo Basics/Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
|
||||
|<$link to="$:/SiteDomain"><<lingo SocialCard/Domain/Prompt>></$link> |<$edit-text tiddler="$:/SiteDomain" default="" tag="input" type="url"/> |
|
||||
|<$link to="$:/SiteUrl"><<lingo SocialCard/Url/Prompt>></$link> |<$edit-text tiddler="$:/SiteUrl" default="" tag="input" type="url"/> |
|
||||
|<$link to="$:/SitePreviewUrl"><<lingo SocialCard/PreviewUrl/Prompt>></$link> |<$edit-text tiddler="$:/SitePreviewUrl" default="" tag="input" type="url"/> |
|
||||
|<$link to="$:/SiteDomain"><<lingo SocialCard/Domain/Prompt>></$link> |<$edit-text tiddler="$:/SiteDomain" default="" tag="input"/> |
|
||||
|<$link to="$:/SiteUrl"><<lingo SocialCard/Url/Prompt>></$link> |<$edit-text tiddler="$:/SiteUrl" default="" tag="input"/> |
|
||||
|<$link to="$:/SitePreviewUrl"><<lingo SocialCard/PreviewUrl/Prompt>></$link> |<$edit-text tiddler="$:/SitePreviewUrl" default="" tag="input"/> |
|
||||
|
||||
<%if [[$:/SitePreviewUrl]get[text]else[]!is[blank]] %>
|
||||
<div>
|
||||
|
||||
@@ -9,7 +9,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
|
||||
//<small>{{$:/language/Search/Matches/Title}}</small>//
|
||||
|
||||
<$list filter="[<userInput>minlength[1]]" variable="ignore">
|
||||
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
|
||||
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>
|
||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||
</span>
|
||||
@@ -19,7 +19,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
|
||||
//<small>{{$:/language/Search/Matches/All}}</small>//
|
||||
|
||||
<$list filter="[<userInput>minlength[1]]" variable="ignore">
|
||||
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
|
||||
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}}>
|
||||
<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||
</span>
|
||||
|
||||
@@ -3,7 +3,7 @@ tags: $:/tags/EditTemplate
|
||||
|
||||
\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$
|
||||
\whitespace trim
|
||||
<div class="tc-tiddler-title tc-tiddler-edit-title tc-clearfix">
|
||||
<div class="tc-tiddler-title tc-tiddler-edit-title">
|
||||
<$view field="title"/>
|
||||
<span class="tc-tiddler-controls tc-titlebar">
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]" variable="listItem">
|
||||
@@ -14,4 +14,5 @@ tags: $:/tags/EditTemplate
|
||||
</$let>
|
||||
</$list>
|
||||
</span>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
|
||||
@@ -1,32 +1,35 @@
|
||||
title: $:/core/ui/EditTemplate/fields
|
||||
tags: $:/tags/EditTemplate
|
||||
|
||||
\procedure lingo-base() $:/language/EditTemplate/
|
||||
\function tf.config-title() [[$:/config/EditTemplateFields/Visibility/]addsuffix[$(currentField)$]substitute[]get[text]]
|
||||
\define lingo-base() $:/language/EditTemplate/
|
||||
\define config-title()
|
||||
$:/config/EditTemplateFields/Visibility/$(currentField)$
|
||||
\end
|
||||
|
||||
\function tf.config-filter() [[hide]] :except[title<tf.config-title>]
|
||||
\define config-filter()
|
||||
[[hide]] -[title{$(config-title)$}]
|
||||
\end
|
||||
|
||||
<!-- Beware this is duplicated from EditTemplate.tid. For details see bug #7054 -->
|
||||
\procedure get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]
|
||||
\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 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 prefix.bracket() [
|
||||
\procedure suffix.bracket() ]
|
||||
\define current-tiddler-new-field-selector()
|
||||
[data-tiddler-title="$(currentTiddlerCSSescaped)$"] .tc-edit-field-add-name-wrapper input
|
||||
\end
|
||||
|
||||
\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()
|
||||
\define new-field-actions()
|
||||
\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]] }}}/>
|
||||
<$set name="safeNewFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
|
||||
<$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
|
||||
</$set>
|
||||
<$action-sendmessage $message="tm-focus-selector" $param=<<tf.current-tiddler-new-field-selector>>/>
|
||||
<$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/>
|
||||
\end
|
||||
|
||||
\procedure delete-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]"/>
|
||||
\define delete-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]"/>
|
||||
|
||||
\procedure cancel-search-actions-inner()
|
||||
\define cancel-search-actions-inner()
|
||||
\whitespace trim
|
||||
<$list
|
||||
filter="[<storeTitle>has[text]] [<newFieldNameTiddler>has[text]]"
|
||||
@@ -36,7 +39,7 @@ tags: $:/tags/EditTemplate
|
||||
</$list>
|
||||
\end
|
||||
|
||||
\procedure cancel-search-actions()
|
||||
\define cancel-search-actions()
|
||||
\whitespace trim
|
||||
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}>
|
||||
<$list
|
||||
@@ -47,7 +50,7 @@ tags: $:/tags/EditTemplate
|
||||
</$set>
|
||||
\end
|
||||
|
||||
\procedure new-field()
|
||||
\define new-field()
|
||||
\whitespace trim
|
||||
<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>
|
||||
<$reveal type="nomatch" text="" default=<<name>>>
|
||||
@@ -72,15 +75,15 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
||||
|
||||
<$set name="newFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
|
||||
<div class="tc-edit-fields">
|
||||
<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]] }}}>
|
||||
<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]] }}}>
|
||||
<tbody>
|
||||
<$list filter="[all[current]fields[]] :and[sort[title]]" variable="currentField" storyview="pop">
|
||||
<$list filter=<<tf.config-filter>> variable="temp">
|
||||
<$list filter="[all[current]fields[]] +[sort[title]]" variable="currentField" storyview="pop">
|
||||
<$list filter=<<config-filter>> variable="temp">
|
||||
<tr class="tc-edit-field">
|
||||
<td class="tc-edit-field-name">
|
||||
<$text text=<<currentField>>/>:</td>
|
||||
<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=<<tf.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=<<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}] }}} />
|
||||
</$keyboard>
|
||||
</td>
|
||||
@@ -104,10 +107,10 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
||||
</em>
|
||||
<$vars refreshTitle=<<qualify "$:/temp/fieldname/refresh">> storeTitle=<<newFieldNameInputTiddler>> searchListState=<<newFieldNameSelectionTiddler>>>
|
||||
<div class="tc-edit-field-add-name-wrapper">
|
||||
<$transclude $variable="keyboard-driven-input" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>
|
||||
<$macrocall $name="keyboard-driven-input" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>
|
||||
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}}
|
||||
focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] :else[[false]] }}} cancelPopups="yes"
|
||||
focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}} cancelPopups="yes"
|
||||
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>
|
||||
<$reveal state=<<qualify "$:/state/popup/field-dropdown">> type="nomatch" text="" default="">
|
||||
@@ -118,8 +121,8 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
||||
<<lingo Fields/Add/Dropdown/User>>
|
||||
</div>
|
||||
<$set name="newFieldName" value={{{ [<storeTitle>get[text]] }}}>
|
||||
<$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]] :except[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
|
||||
<$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="[<currentField>addsuffix[-primaryList]] -[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
|
||||
<$link to=<<currentField>>>
|
||||
<$text text=<<currentField>>/>
|
||||
</$link>
|
||||
@@ -128,8 +131,8 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
||||
<div class="tc-dropdown-item">
|
||||
<<lingo Fields/Add/Dropdown/System>>
|
||||
</div>
|
||||
<$list filter="[fields[]search:title<newFieldName>sort[]] :except[!is[shadow]!is[system]fields[]]" variable="currentField">
|
||||
<$list filter="[<currentField>addsuffix[-secondaryList]] :except[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
|
||||
<$list filter="[fields[]search:title<newFieldName>sort[]] -[!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>""">
|
||||
<$link to=<<currentField>>>
|
||||
<$text text=<<currentField>>/>
|
||||
</$link>
|
||||
@@ -148,7 +151,7 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
|
||||
</$keyboard>
|
||||
</span>
|
||||
<span class="tc-edit-field-add-button">
|
||||
<$transclude $variable="new-field"/>
|
||||
<$macrocall $name="new-field"/>
|
||||
</span>
|
||||
</$let>
|
||||
</$vars>
|
||||
|
||||
@@ -2,15 +2,15 @@ title: $:/core/ui/EditTemplate/type
|
||||
tags: $:/tags/EditTemplate
|
||||
first-search-filter: [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search<userInput>]
|
||||
|
||||
\procedure lingo-base() $:/language/EditTemplate/
|
||||
\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>
|
||||
\define 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>
|
||||
\whitespace trim
|
||||
<$set name="refreshTitle" value=<<qualify "$:/temp/type-search/refresh">>>
|
||||
<div class="tc-edit-type-selector-wrapper">
|
||||
<em class="tc-edit tc-small-gap-right"><<lingo Type/Prompt>></em>
|
||||
<div class="tc-type-selector-dropdown-wrapper">
|
||||
<div class="tc-type-selector"><$fieldmangler>
|
||||
<$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>
|
||||
<$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>
|
||||
</$fieldmangler></div>
|
||||
|
||||
<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}}/>
|
||||
</div>
|
||||
<$set name="userInput" value={{{ [<typeInputTiddler>get[text]] }}}>
|
||||
<$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 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>
|
||||
</$set>
|
||||
</$list>
|
||||
|
||||
@@ -4,15 +4,11 @@ caption: {{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}
|
||||
description: {{$:/language/Buttons/Cancel/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
<$button actions=<<cancel-delete-tiddler-actions "cancel">>
|
||||
tooltip={{$:/language/Buttons/Cancel/Hint}}
|
||||
aria-label={{$:/language/Buttons/Cancel/Hint}}
|
||||
class=<<tv-config-toolbar-class>>
|
||||
>
|
||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||
{{$:/core/images/cancel-button}}
|
||||
<%endif%>
|
||||
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>
|
||||
<%endif%>
|
||||
<$button actions=<<cancel-delete-tiddler-actions "cancel">> tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
{{$:/core/images/cancel-button}}
|
||||
</$list>
|
||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>
|
||||
</$list>
|
||||
</$button>
|
||||
|
||||
@@ -4,15 +4,11 @@ caption: {{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}
|
||||
description: {{$:/language/Buttons/Delete/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
<$button actions=<<cancel-delete-tiddler-actions "delete">>
|
||||
tooltip={{$:/language/Buttons/Delete/Hint}}
|
||||
aria-label={{$:/language/Buttons/Delete/Hint}}
|
||||
class=<<tv-config-toolbar-class>>
|
||||
>
|
||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||
{{$:/core/images/delete-button}}
|
||||
<%endif%>
|
||||
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>
|
||||
<%endif%>
|
||||
<$button actions=<<cancel-delete-tiddler-actions "delete">> tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
{{$:/core/images/delete-button}}
|
||||
</$list>
|
||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>
|
||||
</$list>
|
||||
</$button>
|
||||
|
||||
@@ -4,20 +4,21 @@ caption: {{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}
|
||||
description: {{$:/language/Buttons/Save/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\procedure save-tiddler-button()
|
||||
\define save-tiddler-button()
|
||||
\whitespace trim
|
||||
<$fieldmangler>
|
||||
<$button
|
||||
tooltip={{$:/language/Buttons/Save/Hint}}
|
||||
aria-label={{$:/language/Buttons/Save/Hint}}
|
||||
aria-label={{$:/language/Buttons/Save/Caption}}
|
||||
class=<<tv-config-toolbar-class>>
|
||||
>
|
||||
<<save-tiddler-actions>>
|
||||
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
{{$:/core/images/done-button}}
|
||||
<%endif%>
|
||||
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||
</$list>
|
||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Save/Caption}}/></span>
|
||||
<%endif%>
|
||||
</$list>
|
||||
</$button>
|
||||
</$fieldmangler>
|
||||
\end
|
||||
|
||||
@@ -11,5 +11,4 @@ shortcuts: ((bold))
|
||||
$param="wrap-selection"
|
||||
prefix="''"
|
||||
suffix="''"
|
||||
trimSelection="yes"
|
||||
/>
|
||||
|
||||
@@ -3,7 +3,7 @@ tags: $:/tags/EditorToolbar
|
||||
icon: $:/core/images/excise
|
||||
caption: {{$:/language/Buttons/Excise/Caption}}
|
||||
description: {{$:/language/Buttons/Excise/Hint}}
|
||||
condition: [<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] [<targetTiddler>type[text/markdown]] [<targetTiddler>type[text/x-markdown]] +[first[]]
|
||||
condition: [<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]] +[first[]]
|
||||
shortcuts: ((excise))
|
||||
dropdown: $:/core/ui/EditorToolbar/excise-dropdown
|
||||
|
||||
|
||||
@@ -1,30 +1,20 @@
|
||||
title: $:/core/ui/EditorToolbar/file-import
|
||||
tags: $:/tags/EditorTools
|
||||
condition: [<targetTiddler>filter{$:/config/Editor/EnableImportFilter}]
|
||||
condition: [<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]
|
||||
|
||||
\procedure lingo-base() $:/language/Import/
|
||||
\define lingo-base() $:/language/Import/
|
||||
|
||||
\procedure closePopupActions()
|
||||
\define closePopupActions()
|
||||
<$action-deletetiddler $filter="[title<importState>] [title<importTitle>]"/>
|
||||
\end closePopupActions
|
||||
\end
|
||||
|
||||
\procedure tw5-ImageTemplate() [img[$(currentTiddler)$]]
|
||||
\procedure tw5-FileTemplate() [[$(currentTiddler)$]]
|
||||
\define replacement-text-image() [img[$title$]]
|
||||
|
||||
<!-- The following characters must be escaped in markdown: <>()\ -->
|
||||
\function escape.title() [search-replace:g:regexp[\(|\)|<|>|\\],[\$&]]
|
||||
\procedure markdown-ImageTemplate() 
|
||||
\procedure markdown-FileTemplate() [](<#${ [<currentTiddler>escape.title[]] }$>)
|
||||
\define replacement-text-file() [[$title$]]
|
||||
|
||||
\function is.markdown.tiddler() [all[]type[text/x-markdown]] [all[]type[text/markdown]]
|
||||
\function is.image() [get[type]prefix[image]]
|
||||
\function get.markdown.link() [is.image[]then<markdown-ImageTemplate>else<markdown-FileTemplate>]
|
||||
\function get.tw5.link() [is.image[]then<tw5-ImageTemplate>else<tw5-FileTemplate>]
|
||||
\function get.link.template() [<storyTiddler>is.markdown.tiddler[]then<get.markdown.link>else<get.tw5.link>]
|
||||
|
||||
\procedure postImportActions()
|
||||
\define postImportActions()
|
||||
\whitespace trim
|
||||
<$list filter="[<importTitle>links[]] :reduce[get.link.template[]substitute[]addprefix<accumulator>]" variable="imageTitle">
|
||||
<$list filter="[<importTitle>links[]] :reduce[get[type]prefix[image]then<replacement-text-image>else<replacement-text-file>search-replace[$title$],<currentTiddler>addprefix<accumulator>]" variable="imageTitle">
|
||||
<$action-sendmessage
|
||||
$message="tm-edit-text-operation"
|
||||
$param="insert-text"
|
||||
@@ -32,14 +22,14 @@ condition: [<targetTiddler>filter{$:/config/Editor/EnableImportFilter}]
|
||||
/>
|
||||
</$list>
|
||||
<<closePopupActions>>
|
||||
\end postImportActions
|
||||
\end
|
||||
|
||||
\procedure buttons()
|
||||
\define buttons()
|
||||
\whitespace trim
|
||||
<$button class="tc-btn-invisible" actions=<<closePopupActions>> ><<lingo Listing/Cancel/Caption>></$button>
|
||||
 
|
||||
<$button class="tc-btn-invisible" message="tm-perform-import" param=<<importTitle>> actions=<<postImportActions>> ><<lingo Listing/Import/Caption>></$button>
|
||||
\end buttons
|
||||
\end
|
||||
|
||||
\whitespace trim
|
||||
<$reveal type="popup" state=<<importState>> tag="div" class="tc-editor-importpopup">
|
||||
@@ -52,4 +42,4 @@ condition: [<targetTiddler>filter{$:/config/Editor/EnableImportFilter}]
|
||||
</$tiddler>
|
||||
</$list>
|
||||
</div>
|
||||
</$reveal>
|
||||
</$reveal>
|
||||
|
||||
@@ -11,5 +11,4 @@ shortcuts: ((italic))
|
||||
$param="wrap-selection"
|
||||
prefix="//"
|
||||
suffix="//"
|
||||
trimSelection="yes"
|
||||
/>
|
||||
|
||||
@@ -1,49 +1,44 @@
|
||||
title: $:/core/ui/EditorToolbar/link-dropdown
|
||||
|
||||
\procedure lingo-base() $:/language/Buttons/Link/
|
||||
\define lingo-base() $:/language/Buttons/Link/
|
||||
|
||||
\procedure add-link-actions()
|
||||
\define add-link-actions()
|
||||
\whitespace trim
|
||||
<$action-sendmessage $message="tm-edit-text-operation" $param="make-link" text={{{ [<linkTiddler>get[text]] }}} />
|
||||
<$action-sendmessage $message="tm-edit-text-operation" $param="make-link" text={{$(linkTiddler)$}} />
|
||||
<$action-deletetiddler $filter="[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]"/>
|
||||
\end
|
||||
|
||||
\procedure prefix.bracket() [
|
||||
\procedure suffix.bracket() ]
|
||||
\define get-focus-selector() [data-tiddler-title="$(cssEscapedTitle)$"] .tc-create-wikitext-link input
|
||||
|
||||
\function tf.get-focus-selector() [[data-tiddler-title=]addprefix[$(prefix.bracket)$]substitute[]addsuffix<cssEscapedTitle>addsuffix[$(suffix.bracket)$]substitute[]] .tc-create-wikitext-link input :and[join[ ]]
|
||||
|
||||
\procedure cancel-search-actions-inner()
|
||||
\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
|
||||
|
||||
\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 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 external-link()
|
||||
\define external-link()
|
||||
\whitespace trim
|
||||
<$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}}
|
||||
</$button>
|
||||
\end
|
||||
|
||||
\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 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-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)
|
||||
\define body(config-title)
|
||||
\whitespace trim
|
||||
''<<lingo Hint>>''
|
||||
|
||||
<$vars searchTiddler={{{ [<config-title>addsuffix[/search]] }}} linkTiddler={{{ [<config-title>addsuffix[/link]] }}} linktext="" searchListState=<<qualify "$:/temp/link-search/selected-item">> refreshTitle=<<qualify "$:/temp/link-search/refresh">> storeTitle=<<qualify "$:/temp/link-search/input">>>
|
||||
<$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">>>
|
||||
|
||||
<$vars linkTiddler=<<searchTiddler>>>
|
||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>> class="tc-create-wikitext-link">
|
||||
<$transclude $variable="keyboard-driven-input" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>
|
||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">> class="tc-create-wikitext-link">
|
||||
<$macrocall $name="keyboard-driven-input" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>
|
||||
selectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type="search" filterMinLength="1"
|
||||
tag="input" focus="true" class="tc-popup-handle" inputCancelActions=<<cancel-search-actions>>
|
||||
inputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=""
|
||||
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]" />
|
||||
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]" />
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
 
|
||||
@@ -51,7 +46,7 @@ title: $:/core/ui/EditorToolbar/link-dropdown
|
||||
<<external-link>>
|
||||
 
|
||||
<$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=<<tf.get-focus-selector>>/></$set>
|
||||
<<cancel-search-actions>><$set name="cssEscapedTitle" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message="tm-focus-selector" $param=<<get-focus-selector>>/></$set>
|
||||
{{$:/core/images/close-button}}
|
||||
</$button>
|
||||
</$reveal>
|
||||
@@ -61,7 +56,7 @@ title: $:/core/ui/EditorToolbar/link-dropdown
|
||||
|
||||
<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>
|
||||
|
||||
<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}>
|
||||
<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>
|
||||
|
||||
{{$:/core/ui/SearchResults}}
|
||||
|
||||
@@ -75,4 +70,4 @@ title: $:/core/ui/EditorToolbar/link-dropdown
|
||||
|
||||
\end
|
||||
|
||||
<$transclude $variable="body" config-title=<<qualify "$:/state/Link/">>/>
|
||||
<$macrocall $name="body" config-title=<<qualify "$:/state/Link/">>/>
|
||||
|
||||
@@ -12,5 +12,4 @@ tags: $:/tags/EditorToolbar
|
||||
$param="wrap-selection"
|
||||
prefix="[["
|
||||
suffix="]]"
|
||||
trimSelection="yes"
|
||||
/>
|
||||
|
||||
@@ -11,5 +11,4 @@ shortcuts: ((mono-line))
|
||||
$param="wrap-selection"
|
||||
prefix="`"
|
||||
suffix="`"
|
||||
trimSelection="yes"
|
||||
/>
|
||||
|
||||
@@ -21,7 +21,7 @@ title: $:/core/ui/EditorToolbar/StampDropdown/ItemTemplate
|
||||
$message="tm-edit-text-operation"
|
||||
$param="wrap-selection"
|
||||
prefix={{{ [<currentTiddler>addsuffix[/prefix]get[text]] }}}
|
||||
suffix={{{ [<currentTiddler>addsuffix[/suffix]get[text]] }}}
|
||||
suffix={{{ [<currentTiddler>addsuffix[/suffix]get[text]] }}}
|
||||
/>
|
||||
|
||||
</$list>
|
||||
|
||||
@@ -11,5 +11,4 @@ shortcuts: ((strikethrough))
|
||||
$param="wrap-selection"
|
||||
prefix="~~"
|
||||
suffix="~~"
|
||||
trimSelection="yes"
|
||||
/>
|
||||
|
||||
@@ -11,5 +11,4 @@ shortcuts: ((subscript))
|
||||
$param="wrap-selection"
|
||||
prefix=",,"
|
||||
suffix=",,"
|
||||
trimSelection="yes"
|
||||
/>
|
||||
|
||||
@@ -11,5 +11,4 @@ shortcuts: ((superscript))
|
||||
$param="wrap-selection"
|
||||
prefix="^^"
|
||||
suffix="^^"
|
||||
trimSelection="yes"
|
||||
/>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user