wayBetter for X
This commit is contained in:
commit
2f1e35ba20
720 changed files with 147465 additions and 0 deletions
59
.forgejo/issue_template/plugin.yaml
Normal file
59
.forgejo/issue_template/plugin.yaml
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
name: Submit a plugin to the Store
|
||||
about: No git needed. Attach your .plugin.js and a maintainer adds it to the wayBetter Store.
|
||||
title: "Store plugin: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Attach the file and answer the questions. A maintainer puts it in a folder under `store/x/plugins/`, runs the checks (`bun run check:store`), reads the code, then builds and signs the catalog. The Store's signing key is offline by design, so publishing takes that extra step.
|
||||
|
||||
Before you send: drop the file on the wayBetter window and see that it installs and works.
|
||||
- type: textarea
|
||||
id: file
|
||||
attributes:
|
||||
label: The plugin file
|
||||
description: Drag your `name.plugin.js` here (and a 640×400 preview `.svg` or `.png`, if you made one). The header needs `@name`, `@version`, `@description` (50 characters or more), `@author` and `@permissions`.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: id
|
||||
attributes:
|
||||
label: Store id
|
||||
description: Lower-case letters, digits and hyphens, up to 40. It becomes the address /store/plugins/<id>/.
|
||||
placeholder: hide-trends
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: category
|
||||
attributes:
|
||||
label: Category
|
||||
options:
|
||||
- reading
|
||||
- writing
|
||||
- filters
|
||||
- focus
|
||||
- tools
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: tags
|
||||
attributes:
|
||||
label: Tags
|
||||
description: Up to 12 words people would search for, separated by commas.
|
||||
placeholder: trends, sidebar
|
||||
- type: textarea
|
||||
id: what
|
||||
attributes:
|
||||
label: What it does and what it uses
|
||||
description: What a user sees, which permissions it declares and why. If it declares `network`, name the server and what is sent.
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Confirm
|
||||
options:
|
||||
- label: I wrote this, or I may publish it under GPL-3.0-or-later.
|
||||
required: true
|
||||
- label: The code is readable (not minified) and loads or evaluates nothing at run time.
|
||||
required: true
|
||||
43
.forgejo/issue_template/theme.yaml
Normal file
43
.forgejo/issue_template/theme.yaml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
name: Submit a theme to the Store
|
||||
about: No git needed. Attach your theme .json and a maintainer adds it to the wayBetter Store.
|
||||
title: "Store theme: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Attach the file and answer the questions. A maintainer puts it in a folder under `store/x/themes/`, runs the checks (`bun run check:store`), then builds and signs the catalog. The Store's signing key is offline by design, so publishing takes that extra step.
|
||||
|
||||
Export the theme from wayBetter → Appearance (or the Theme Builder) so the file is complete.
|
||||
- type: textarea
|
||||
id: file
|
||||
attributes:
|
||||
label: The theme file
|
||||
description: Drag your theme `.json` here (and a 640×400 preview `.svg` or `.png`, if you made one; without one the preview is drawn from the theme). It needs a `name`, an `author` and a `description` of 50 characters or more.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: id
|
||||
attributes:
|
||||
label: Store id
|
||||
description: Lower-case letters, digits and hyphens, up to 40. It becomes the address /store/themes/<id>/.
|
||||
placeholder: midnight-mint
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: tags
|
||||
attributes:
|
||||
label: Tags
|
||||
description: Up to 12 words people would search for, separated by commas.
|
||||
placeholder: dark, mint, compact
|
||||
- type: textarea
|
||||
id: notes
|
||||
attributes:
|
||||
label: Anything a reviewer should know
|
||||
description: For example that the theme carries custom CSS, embeds a picture, or uses Google Fonts. Say where an embedded picture comes from and that you may share it.
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Confirm
|
||||
options:
|
||||
- label: I made this theme, or I may publish it under GPL-3.0-or-later.
|
||||
required: true
|
||||
30
.forgejo/issue_template/translation.yaml
Normal file
30
.forgejo/issue_template/translation.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
name: Fix or improve a translation
|
||||
about: No git needed. Attach the changed language file, or list the strings that read wrong.
|
||||
title: "Translation: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
The app's languages are built in (they are not Store items) and ship with the next app update. The files are `apps/desktop/locales/<tag>.json`; docs/TRANSLATING.md explains the message syntax. A maintainer runs `bun run i18n:check` on your change before merging it.
|
||||
- type: input
|
||||
id: language
|
||||
attributes:
|
||||
label: Language
|
||||
placeholder: Turkish (tr)
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: change
|
||||
attributes:
|
||||
label: The change
|
||||
description: Drag the edited `<tag>.json` here, or write each string as "where it appears / what it says now / what it should say".
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: who
|
||||
attributes:
|
||||
label: About you
|
||||
options:
|
||||
- label: I speak this language fluently.
|
||||
required: true
|
||||
- label: I went through the whole file (it can be marked "reviewed").
|
||||
31
.forgejo/pull_request_template.md
Normal file
31
.forgejo/pull_request_template.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<!-- Thank you. Keep what applies and delete the rest. -->
|
||||
|
||||
## What this changes
|
||||
|
||||
|
||||
## Checks I ran
|
||||
|
||||
- [ ] `bun run build`
|
||||
- [ ] `bun run test`
|
||||
- [ ] `bun run check:store` (a Store theme or plugin)
|
||||
- [ ] `bun run i18n:check` prints `0 error(s)` (a translation)
|
||||
|
||||
## A theme or plugin for the Store
|
||||
|
||||
- Folder: `store/x/plugins/<id>/` or `store/x/themes/<id>/`
|
||||
- What it does, in a sentence:
|
||||
- What it uses (a plugin's `@permissions`), and which server it contacts if it declares `network`:
|
||||
- [ ] I wrote it, or I may publish it under GPL-3.0-or-later (say where it comes from otherwise)
|
||||
- [ ] A plugin's code is readable: not minified, nothing loaded or evaluated at run time
|
||||
- [ ] I tried it in the app (dropped the file on the wayBetter window)
|
||||
|
||||
A maintainer reads the code, then builds and signs the catalog after the merge. The signing key is
|
||||
offline by design, so the item appears in the Store after that step, not at merge time.
|
||||
|
||||
## A translation
|
||||
|
||||
- Language (file under `apps/desktop/locales/`):
|
||||
- [ ] I speak it fluently
|
||||
- [ ] I went through the whole file (`"status": "reviewed"`), or: I fixed specific strings
|
||||
|
||||
By contributing you agree that your contribution is licensed under GPL-3.0-or-later.
|
||||
Loading…
Add table
Add a link
Reference in a new issue