跳转至内容
  • 最新
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 太微中文教程
  • 新插件投票看板
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
太微中文论坛icon

太微中文论坛

  1. 首页信息流
  2. 版块
  3. 插件分享
  4. 在github上搭建个人tiddlywiki插件库

在github上搭建个人tiddlywiki插件库

已定时 已固定 已锁定 已移动 插件分享
教程
7 帖子 2 发布者 59 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • dyp1121054136D 离线
    dyp1121054136D 离线
    dyp1121054136
    编写 最后由 dyp1121054136 编辑
    #1

    github tiddlywiki插件库示例:

    源代码:

    https://github.com/dyp1121054136/dyp-plugins-library

    在线演示

    https://dyp1121054136.github.io/dyp-plugins-library/

    1 条回复 最后回复
    0
    • dyp1121054136D 离线
      dyp1121054136D 离线
      dyp1121054136
      编写 最后由 编辑
      #2
      功能:

      放置在“plugins”插件文件夹中的tiddlywiki插件将自动托管在此仓库的 GitHub Pages 站点上,提交到 master 分支将自动更新tiddlywiki插件库。

      步骤:

      1、复制此模板并新建仓库
      https://github.com/mklauber/tw5-plugins-template

      点击:"Use this template"-"Create a new repository",填写仓库名 Repository name-点击"Create repository"

      2、gui/Library.tid 修改链接指向自己的仓库

      url: https://{github 用户名}.github.io/{仓库名}/library/index.html

      示例:https://dyp1121054136.github.io/dyp-plugins-library/library/index.html

      3、新建github动作配置文件.github/workflows/main.yml

      name: Node.js CI
      
      on:
        push:
          branches: [ master ]
        workflow_dispatch:  # 添加手动触发事件
      
      jobs:
        build:
          runs-on: ubuntu-latest
          steps:
            - uses: actions/checkout@v4
              with:
                submodules: 'recursive'
            - name: Setup Node.js
              uses: actions/setup-node@v4
              with:
                node-version: '22'
            - run: npm install tiddlywiki
            - run: mkdir -p node_modules/tiddlywiki/plugins/dyp/
            - run: cp -r plugins/* node_modules/tiddlywiki/plugins/dyp/
            - run: ./node_modules/.bin/tiddlywiki .  --output output/library --build library
            - run: ./node_modules/.bin/tiddlywiki .  --output output --build gui
            - name: Deploy to GitHub Pages
              if: success()
              uses: crazy-max/ghaction-github-pages@v2
              with:
                target_branch: gh-pages
                build_dir: output
              env:
                GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      

      4、修改仓库权限

      "Settings"-"Actions"-"General"-"Workflow permissions",勾选"Read and write permissions",工作流在所有范围的存储库中均具有读写权限。

      5、设置为中文

      tiddlywiki.info 中增加

      	"languages": [
                      "zh-Hans"
      	],
      

      新建文件gui/$__language.json

      [{"created":"20250508112256704","text":"$:/languages/zh-Hans","title":"$:/language","modified":"20250508112643825"}]
      

      6、修改master分支中的内容会自动部署gh-pages分支,如果没有,可以手动部署

      "Actions"-"Node.js CI"-"Run workflow"-"Branch: master"-"Run workflow"

      7、GitHub Pages指向gh-pages分支

      "Settings"-"Pages",选"Deploy from a branch","gh-pages"-"/ (root)"-"Save"

      8、部署成功后访问:
      {github 用户名}.github.io/{仓库名}

      示例:dyp1121054136.github.io/dyp-plugins-library

      其他技巧:

      1、想要预装tiddlywiki官方插件,可以修改tiddlywiki.info文件,插件名格式为"tiddlywiki/插件名",用英文逗号隔开多个插件

      示例:

      	"plugins": [
      		"tiddlywiki/pluginlibrary",
      		"tiddlywiki/highlight"
      	],
      

      tiddlywiki官方插件库:https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/plugins/tiddlywiki

      2、个人常用配置和新条目可以上传到 gui 文件夹

      可以直接上传json文件

      例如:
      网站标题、网站副标题

      $__SiteTitle.json、$__SiteSubtitle.json

      3、禁用自动部署,只需注释掉 push 触发器,只保留 workflow_dispatch 手动触发器,避免文件修改或上传到一半的时候就自动部署了

        # push:  
        #   branches: [ master ]
      
      Deepwiki AI 分析本仓库:

      https://deepwiki.com/dyp1121054136/dyp-plugins-library

      1 条回复 最后回复
      0
      • dyp1121054136D 离线
        dyp1121054136D 离线
        dyp1121054136
        编写 最后由 编辑
        #3

        字体插件有未知bug,如果字体不生效,可能是安装的时候woff2文件打包状态被破坏了,修改条目类型为 application/font-woff2 或 font/woff2,可使字体重新生效

        1 条回复 最后回复
        0
        • 机杼机 在线
          机杼机 在线
          机杼
          编写 最后由 机杼 编辑
          #4

          网站访问起来有点卡,像是加载了什么大型文件。

          一打开侧边栏就变得卡了,不知道为什么网站不是居中的。

          网站上有些按钮很有意思,感觉很不错,是自己写的插件吗?

          字体如果是发布网站的话,其实用处不大,一个是字体太大,很影响加载,二来也同样可能被浏览器设置的字体覆盖掉。如果是自己本地用的话,也不需要加载,可以用css引入。

          html body, .tc-sidebar-scrollable-backdrop {
          	font-family: "朱雀仿宋(预览测试版)","Arvo", "Times";
          }.tc-page-controls svg {
          	
          -webkit-filter: drop-shadow(1px 1px 2px rgba(255,255,255,0.9));
          	-moz-filter: drop-shadow(1px 1px 2px rgba(255,255,255,0.9));
          		filter: drop-shadow(1px 1px 2px rgba(255,255,255,0.9));
          
          }
          

          我这里就是引入了朱雀仿宋字体,因为本机电脑上安装了,所以不需要导入到wiki当中。

          dyp1121054136D 1 条回复 最后回复
          0
          • dyp1121054136D 离线
            dyp1121054136D 离线
            dyp1121054136
            回复了机杼 最后由 编辑
            #5

            @机杼 这是一个插件库,不是网站,是让别人下载插件的,cpl也能搜索到我制作的插件了。字体还是制作为本地的好,手机端也能用,在线引用css每次打开wiki都要重新下载一遍很麻烦。

            1 条回复 最后回复
            0
            • dyp1121054136D 离线
              dyp1121054136D 离线
              dyp1121054136
              编写 最后由 编辑
              #6

              关于字体

              woff2字体条目类型已修改为 application/octet-stream (一种MIME类型,通用的二进制文件类型);

              为了加快网站响应速度,部分不常用的字体已禁用,前缀为“引用字体-”的条目 $:/tags/Stylesheet 标签已移除,可重新加上 $:/tags/Stylesheet 标签使之生效

              1 条回复 最后回复
              0
              • dyp1121054136D 离线
                dyp1121054136D 离线
                dyp1121054136
                编写 最后由 dyp1121054136 编辑
                #7

                新增了自动用uri引用github仓库在线图片的功能

                tiddlywiki.info

                {
                	"description": "TiddlyWiki Plugin Library",
                	"plugins": [
                		"tiddlywiki/pluginlibrary",
                		"tiddlywiki/highlight",
                		"tiddlywiki/jszip"
                	],
                	"themes": [
                                "tiddlywiki/vanilla",
                                "tiddlywiki/snowwhite"
                	],
                	"languages": [
                                "zh-Hans"
                	],
                	"includeWikis": [
                	],
                	"build": {
                                "externalimages": [    
                                        "--save", "[is[image]]", "images",  
                                        "--setfield", "[is[image]]", "_canonical_uri", "$:/core/templates/canonical-uri-external-image", "text/plain",  
                                        "--setfield", "[is[image]]", "text", "", "text/plain",  
                                        "--render", "$:/core/save/all", "index.html", "text/plain"],
                		"library": [
                			"--makelibrary","$:/UpgradeLibrary",
                   			"--savelibrarytiddlers","$:/UpgradeLibrary","[prefix[$:/]] -[prefix[$:/plugins/tiddlywiki/]] -[prefix[$:/themes/tiddlywiki/]] -[prefix[$:/languages/]] -[[$:/plugins/tiddlywiki/upgrade]] -[[$:/plugins/tiddlywiki/translators]] -[[$:/plugins/tiddlywiki/pluginlibrary]] -[[$:/plugins/tiddlywiki/jasmine]]","recipes/library/tiddlers/","$:/UpgradeLibrary/List",
                   			"--savetiddler","$:/UpgradeLibrary/List","recipes/library/tiddlers.json",
                			"--rendertiddler","$:/plugins/tiddlywiki/pluginlibrary/library.template.html","index.html","text/plain"],
                		"gui": ["--load","gui/",
                			"--rendertiddler","$:/core/save/all","index.html","text/plain"]
                	}
                }
                

                记得修改图片uri指向路径前缀到自己仓库
                tiddlers/external/tiddlywiki.files

                {  
                    "directories": [  
                        {  
                            "path": "../../files/images/",  
                            "filesRegExp": "^.*\\.(?:jpg|jpeg|png|gif)$",  
                            "isTiddlerFile": false,  
                            "searchSubdirectories": true,  
                            "fields": {  
                                "title": {"source": "basename-uri-decoded"},  
                                "created": {"source": "created"},  
                                "modified": {"source": "modified"},  
                                "type": "image/jpeg",  
                                "tags": {"source": "subdirectories"},  
                                "text": "",  
                                "_canonical_uri": {"source": "filepath", "prefix": "https://raw.githubusercontent.com/dyp1121054136/dyp-plugins-library/refs/heads/master/files/images/"}  
                            }  
                        }  
                    ]  
                }
                

                .github/workflows/main.yml

                name: Node.js CI  
                  
                on:  
                  # push:  
                  #   branches: [ master ]  
                  workflow_dispatch:  # 添加手动触发事件
                
                jobs:
                  build:
                    runs-on: ubuntu-latest
                    steps:
                      - uses: actions/checkout@v4
                        with:
                          submodules: 'recursive'
                      - name: Setup Node.js
                        uses: actions/setup-node@v4
                        with:
                          node-version: '22'
                      - run: npm install tiddlywiki
                      - run: mkdir -p node_modules/tiddlywiki/plugins/dyp/
                      - run: cp -r plugins/* node_modules/tiddlywiki/plugins/dyp/
                      - run: ./node_modules/.bin/tiddlywiki .  --output output --build externalimages
                      - run: ./node_modules/.bin/tiddlywiki .  --output output/library --build library
                      - run: ./node_modules/.bin/tiddlywiki .  --output output --build gui
                      - name: Deploy to GitHub Pages
                        if: success()
                        uses: crazy-max/ghaction-github-pages@v2
                        with:
                          target_branch: gh-pages
                          build_dir: output
                        env:
                          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                
                1 条回复 最后回复
                0

                • 登录

                • 没有帐号? 注册

                • 登录或注册以进行搜索。
                Powered by NodeBB Contributors
                • 第一个帖子
                  最后一个帖子
                0
                • 最新
                • 版块
                • 标签
                • 热门
                • 用户
                • 群组
                • 太微中文教程
                • 新插件投票看板