mirror of
https://github.com/NaitLee/Cat-Printer.git
synced 2025-05-15 23:00:15 -07:00
Add contribution guideline
This commit is contained in:
parent
1f47d2ae57
commit
fec31bd168
73
CONTRIBUTING.md
Normal file
73
CONTRIBUTING.md
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
|
||||||
|
# Contributing
|
||||||
|
|
||||||
|
Thank you for considering this project.
|
||||||
|
|
||||||
|
Let's keep short & be positive:
|
||||||
|
|
||||||
|
## Communication
|
||||||
|
|
||||||
|
1. Use Issue for a potential bug and Discussion for feature request.
|
||||||
|
But do whichever you feel better. This is just a hint.
|
||||||
|
|
||||||
|
2. Consider you're interacting with the whole world. Use English.
|
||||||
|
But you may also use another if you're confident enough that someone in community could understand it & help you.
|
||||||
|
|
||||||
|
## Sharing
|
||||||
|
|
||||||
|
Let's just call it "sharing". You can of course share your experience of this project with your friends, online or offline.
|
||||||
|
|
||||||
|
This is also one step toward Software Freedom.
|
||||||
|
|
||||||
|
But note that, if necessary, disclaim that you have no relationship with any of the printer vendors. Neither the author(s) here.
|
||||||
|
|
||||||
|
Also for avoiding potential hassle, don't mention the "original" or "official" app(s).
|
||||||
|
|
||||||
|
## Translating
|
||||||
|
|
||||||
|
See [i18n.md](./i18n.i18n/i18n.md) for what to do.
|
||||||
|
|
||||||
|
You can seek for help here, to do grammar extensions & leftovers.
|
||||||
|
|
||||||
|
## Coding
|
||||||
|
|
||||||
|
1. Whether big or small, pull requests are welcome.
|
||||||
|
|
||||||
|
2. See file `TODO` for what's next. But don't limit imagination, do whatever you think is useful.
|
||||||
|
|
||||||
|
3. Keep the existing "way". Here are details:
|
||||||
|
|
||||||
|
- Think about the Unix Philosophy before doing.
|
||||||
|
- Follow coding style & naming convention.
|
||||||
|
- Consider the use cases, support Web UI and/or command-line backend
|
||||||
|
- Test the code well. Document if necessary.
|
||||||
|
- Don't forget internationalization & necessary accessibility features.
|
||||||
|
|
||||||
|
4. Finally, "rules". Just skim these, don't feel pressure as I trust you won't mistake:
|
||||||
|
|
||||||
|
- Don't leak development/test cache/junk to the repo. Please.
|
||||||
|
And never put pictures/executables/any big binary to this repo. Try uploading to an issue/discussion instead.
|
||||||
|
- Don't connect to an online service to fetch resource.
|
||||||
|
- No more 3rd-party blackbox dependencies/assets, without explaining & using its most functionality.
|
||||||
|
Consider using existing system programs, or implementing it in your own.
|
||||||
|
If that really happened, make it optional (i.e. don't fail the load just for its non-existence),
|
||||||
|
And don't push the dependency source code.
|
||||||
|
For big dependencies, if you really love it, it's suggested to fork this repo & develop in your own way.
|
||||||
|
- Don't make anti-features. Don't be someone yourself dislike most. Examples:
|
||||||
|
- You can do: simple borders & stickers, simple PostScript interpreter, another common printing protocol
|
||||||
|
- Considering previous rule, discuss first: Bar/QR Code, formula, Native (non-Web) UI
|
||||||
|
- You shouldn't do: Way too fancy UI/editor, Cloud storage, camera integration & OCR
|
||||||
|
- Never consider: Accounting, non-free service integration, advertisement injection
|
||||||
|
- Please don't violate the license (GNU General Public License version 3)
|
||||||
|
Modification to existing files are released under its existing license,
|
||||||
|
mostly GPL3 or CC0, according to statement in readme.
|
||||||
|
- If you want to preserve your copyright & use other license, create new file(s) for your work.
|
||||||
|
But, never release your code under any non-free license.
|
||||||
|
|
||||||
|
5. You can take any part of this project to do something else. It's still contribution!
|
||||||
|
|
||||||
|
## Footnote
|
||||||
|
|
||||||
|
Nothing could go wrong. Trust yourself & try your best.
|
||||||
|
|
||||||
|
Let's together build a better project, and a better world.
|
8
TODO
8
TODO
@ -3,17 +3,19 @@ Note: not ordered. do whatever I/you want
|
|||||||
|
|
||||||
+ Cookbook of basic things
|
+ Cookbook of basic things
|
||||||
+ Write good help/manual
|
+ Write good help/manual
|
||||||
|
+ Some sort of Wiki
|
||||||
+ Make error notice short while let users see detailed help/manual for what-to-do
|
+ Make error notice short while let users see detailed help/manual for what-to-do
|
||||||
+ Even better CUPS/IPP support
|
+ Even better CUPS/IPP support
|
||||||
+ Even better frontend usability, more functions
|
+ Even better frontend, language-friendly text printing
|
||||||
+ Make a build guide for android:
|
+ Make a build guide for android:
|
||||||
Summary the hacks to p4a, bleak p4a recipe, p4a webview bootstrap, and AdvancedWebView
|
Summary the hacks to p4a, bleak p4a recipe, p4a webview bootstrap, and AdvancedWebView
|
||||||
+ Try to implement enough without more dependencies
|
+ Try to implement enough without more dependencies
|
||||||
|
+ Plugin, for including community features
|
||||||
+ ...
|
+ ...
|
||||||
|
|
||||||
? Optimize PF2 text printing? It seems a bit slow (in algorithm).
|
? Optimize PF2 text printing? It seems a bit slow (in algorithm).
|
||||||
? Built-in PostScript? (Even if very basic)
|
? Built-in PostScript (Even if very basic)
|
||||||
? Data compression for GB03. Optional
|
? Data compression for GB03. Optional
|
||||||
? Put Android APP on F-Droid? But it needs automatic build system...
|
? Put Android APP on F-Droid? But it needs automatic build system...
|
||||||
Android guys can help this!
|
Android guys can help this!
|
||||||
? ... Or put to APKPure?
|
? ... Or put to APKPure? But wait for good frontend before doing all of these
|
||||||
|
@ -12,7 +12,7 @@ In the future, there can be other manual files.
|
|||||||
## What to do
|
## What to do
|
||||||
|
|
||||||
In simple cases, you just make a copy of already-there language file, and modify it to your local language.
|
In simple cases, you just make a copy of already-there language file, and modify it to your local language.
|
||||||
You should know what's your locale "code", for example "English (US)" is `en-US`. You can look at your browser locale configuration, or gather from the Web.
|
You should know what's your locale "code", for example "English (US)" is `en-US`. You can look at your browser locale configuration, or gather from the Internet.
|
||||||
After that, add an entry in `list.json`.
|
After that, add an entry in `list.json`.
|
||||||
|
|
||||||
## Naming
|
## Naming
|
||||||
@ -27,7 +27,7 @@ With parameter(s):
|
|||||||
"there-are-0-apples-in-1-baskets": "There are {0} apples in {1} baskets"
|
"there-are-0-apples-in-1-baskets": "There are {0} apples in {1} baskets"
|
||||||
```
|
```
|
||||||
|
|
||||||
With Conditions: *(language dependent)*
|
With Conditions: *(differs by language)*
|
||||||
```json
|
```json
|
||||||
"0-apples": {
|
"0-apples": {
|
||||||
"single": "{0} apple",
|
"single": "{0} apple",
|
||||||
@ -53,9 +53,9 @@ That doesn't mean difficulty:
|
|||||||
- Here almost everyone could do programming. Coding grammar needs much less work -- it's what a junior programmer could do to improve his/her skill.
|
- Here almost everyone could do programming. Coding grammar needs much less work -- it's what a junior programmer could do to improve his/her skill.
|
||||||
- Don't forget me! There are Issue and Discussion.
|
- Don't forget me! There are Issue and Discussion.
|
||||||
|
|
||||||
- Or you actually can do code? Look at file `www/i18n-ext.js` then you could get the point. Also see `www/i18n.d.ts` for typing details. You may modify *anything*, **to be better**.
|
- Or you actually can do code? Look at file `www/i18n-ext.js` then you could get the point. Also see `www/i18n.d.ts` for typing details. You may modify *anything* around, **to be better**.
|
||||||
|
|
||||||
- You can also make "example" files (like `en-US-ex.jsonc`), for testing grammar points, or showing what could be done.
|
- You can also make "example" files (like `en-US-ex.jsonc`), for testing grammar points, or just showing what could be done.
|
||||||
The `jsonc` format is JSON allowing comments. At the moment please use only `//`
|
The `jsonc` format is JSON allowing comments. At the moment please use only `//`
|
||||||
- Use a test file:
|
- Use a test file:
|
||||||
- Load project Web Interface
|
- Load project Web Interface
|
||||||
|
Loading…
x
Reference in New Issue
Block a user