Use tiddly-gittly/Modern.TiddlyDev instead now!
This template will help you automatically package zipped multiple-file plugin for nodejs wiki, and single file JSON plugin for HTML wiki.
You can also try Modern.TiddlyDev.
- update
title,authoranddescriptionin the src/plugin.info, updateurlfield in the package.json. - write your plugin code in the src/ directory, use
index.tsas your ts code's entry point. - you can use other file name or path, just update the "tsFiles" field in the package.json
- write
.js.metafile aloneside with your ts file (that listed in the "tsFiles" field in the package.json), because when bundled as a plugin, all ts (in "tsFiles" field) will become js. - other tid files just put in the src directory, they will be copy to the plugin automatically.
- You can use folder to organize the files, like
src/filters/to place the filter tiddlers, and that structure will be preserved in the nodejs multiple-file plugin - In the JSON plugin, the structure will strictly follow the tiddler title.
ignoredExtensionsWhenBuildPluginfield in package.json are file extensions that should not be copied to the dist. Normally they will be bundled by esbuild.
- You can use folder to organize the files, like
- update demo site tiddlers in the demo/ directory.
- update this readme.md
There are some scripts you can run to boost your development.
After npm i --legacy-peer-deps:
npm run devto pack the plugin in thedist/directory, this will setup a site that will auto reload when you have changes. But this is development mode, will produce a much larget bundle than the final version, so only for dev.npm run dev-htmlto setup the demo site locally. Re-run this command and refresh browser to see changes. In this way you can see the real bundle size same as your user will get.
You will need --legacy-peer-deps when npm i if you are using latest nodejs. This is a bug in npm.
Add new file name (without .ts) to package.json's tsFiles field. And build script will read it and compile files in it.
Enable github action in your repo (in your github repo - setting - action - general) if it is not allowed, and when you tagging a new version vx.x.x in a git commit and push, it will automatically publish to the github release.
You will get a Github Pages demo site automatically after publish. If it is 404, you may need to manually enable Github Pages in your github repo:
Settings - Pages (on left side) - Source - choose gh-pages branch
▲ [WARNING] Import "useFilter" will always be undefined because the file "node_modules/tw-react/dist/plugins/linonetwo/tw-react/index.js" has no exports
See tw-react's esbuild config, you will need to exclude the file from the modification here.