Skip to content

siyuan-note/template-sample

Repository files navigation

中文

SiYuan template sample

Get started

  • Make a copy of this repo as a template with the Use this template button, please note that the repo name must be the same as the template name, the default branch must be main
  • Clone your repo to a local development folder. For convenience, you can place this folder in your {workspace}/data/templates/ folder

Development

  • template.json
  • icon.png (160*160)
  • preview.png (1024*768)
  • README*.md
  • *.md

template.json

{
  "name": "template-sample",
  "author": "Vanessa",
  "url": "https://github.com/siyuan-note/template-sample",
  "version": "0.0.3",
  "minAppVersion": "2.9.0",
  "displayName": {
    "default": "Template Sample",
    "zh_CN": "模板示例"
  },
  "description": {
    "default": "This is a template sample",
    "zh_CN": "这是一个模板示例"
  },
  "readme": {
    "default": "README.md",
    "zh_CN": "README_zh_CN.md"
  },
  "funding": {
    "openCollective": "",
    "patreon": "",
    "github": "",
    "custom": [
      "https://ld246.com/sponsor"
    ]
  },
  "keywords": [
    "sample", "示例"
  ]
}
  • name: Template name, must be the same as the repo name, and must be unique globally (no duplicate template names in the marketplace)
  • author: Template author name
  • url: Template repo URL
  • version: Template version number, it is recommended to follow the semver specification
  • minAppVersion: Minimum version number of SiYuan required to use this template
  • displayName: Template display name, mainly used for display in the marketplace list, supports multiple languages
    • default: Default language, must exist
    • zh_CN, en_US and other languages: optional, it is recommended to provide at least Chinese and English
  • description: Template description, mainly used for display in the marketplace list, supports multiple languages
    • default: Default language, must exist
    • zh_CN, en_US and other languages: optional, it is recommended to provide at least Chinese and English
  • readme: readme file name, mainly used to display in the marketplace details page, supports multiple languages
    • default: Default language, must exist
    • zh_CN, en_US and other languages: optional, it is recommended to provide at least Chinese and English
  • funding: Template sponsorship information
    • openCollective: Open Collective name
    • patreon: Patreon name
    • github: GitHub login name
    • custom: Custom sponsorship link list
  • keywords: Search keyword list, used for marketplace search function

Package

No matter which method is used to compile and package, we finally need to generate a package.zip, which contains at least the following files:

  • icon.png
  • preview.png
  • README*.md
  • template.json
  • *.md

Use Github Action

  1. In your repo setting page https://github.com/OWNER/REPO/settings/actions, down to Workflow Permissions and open the configuration like this:

  2. Push a tag in the format v* and github will automatically create a new release with new bulit package.zip

List on the marketplace

If it is the first release, please create a pull request to the Community Bazaar repository and modify the templates.json file in it. This file is the index of all community template repositories, the format is:

{
  "repos": [
    "username/reponame"
  ]
}

After the PR is merged, the bazaar will automatically update the index and deploy through GitHub Actions. When releasing a new version of the template in the future, you only need to follow the above steps to create a new release, and you don't need to PR the community bazaar repo.

Under normal circumstances, the community bazaar repo will automatically update the index and deploy every hour, and you can check the deployment status at https://github.com/siyuan-note/bazaar/actions.