All tutorials must follow all below standards.
-
It is suggested to split paragraphs or text into items. This makes it easier to read and update the sentences.
-
All sentences must be short and simple.
Simple Englishlanguage ofWikipediacan be taken reference. -
There are many
Markdownlanguages. In this project, we use onlyGitHub Flavored Markdown (β· GFM), which is supported bygithub.comandVSCodeby default. -
MarkdownallowsHTMLandCSS. However we do not use them. Because there is no a common standard for whichHTMLelement will supported. -
Do not use
>for code blocks. Always```must be used even for single-line code. -
Do not break the syntax of the programming language as shown in the example below:
void methodA(){ ... }
The following must be used:
void methodA(){ // other code here }
-
Do not use words that are not validated by spell-checker.
Example:
void methodT(){ }
The following must be used:
void methodTest(){ }
-
All files are in
UTF-8format. But avoid using everyUTF-8supported characters. Use only basic plane levels ofUnicode.
Only one of below solutions must be use:
-
Draw it manually via text inside
Markdowncode block.asciiflow.com(or similar) web sites can be used. -
Mermaidformat can be used insideMarkdowncode block.Githubsupports preview for them. But for unsupported platforms, the same content must be drawn as text.Mermaid to asciitools can be used.Additional Note: Most of
Mermaid to asciitools do not supportsubgraphfeature ofMermaid. Thereforesubgraphfeature must not be used.
Bold must not be used. Instead the text can be wrapped via `.
In the future I may use bold for spesific cases only.
Italic must not be used. Instead the text can be wrapped via `.
Italic font can not be easily distinguished on most Markdown-viewer.
Double quote and single quote must not be used for below purpose:
wrong usage:
"Spring boot" is a Java framework.
'Spring boot' is a Java framework.We already wrap all special text using `. That way, all of them will follow the same standard.
All rules in this title must be followed only for paragraphs.
That means
- comments within the source code
- titles (any level)
should not be follow the rules in this title.
A text (phrase or expression) must be wrapped via ` only for case which explained in sub-titles below.
If the text is proper name (brand, company name, city name, library name, person name etc).
Correct example:
`England` is on `Europe`.Correct examples:
`Example`: This is an example.
`Example-1`: This is an example.
`Note`: This is a note.If the text is a technical term.
But for the below terms (and their derivatives and their abbreviations) we must not follow this rule.
- server
- service
- log
- code
- source
- repository
- repo
- library
- framework
- login
- logout
- network
- plugin
- extension
- format
Correct example:
One `cluster` has multiple `node` instances.If the text is:
- a mathematical variable name or value.
- a programming language or DSL variable name or value.
- a database column name or cell value
- JSON field name or value
- XML tag or value
- YAML key or value
- key or value of
.propertiesfile
If the text contains any character except:
-
a-Z
-
0-9
-
dash character without space before or after
Correct examples:
Some characters like `?` is important.
Start application with `-Dparam1` parameter.
The new syntax is human-readable.
New version is `20.9`.- Paragraphs will be more human-readable.
- spell checker plugin knows that it is a special term.
A term may have abbreviations or synonyms. But:
- abbreviations and synonyms must be mentioned only once (in the same sentence) throughout the entire project.
- we must use the shortest one on rest of the whole repository.
Note: We must use the second shortest, if we have collision.
The abbreviation of Operating System is OS. We must only use OS in whole repository because it is the shortest one.
But we must write only once (a sentence) like below one:
`Operating System (β· OS)` run other process.The abbreviation of both Peer-to-peer and point--to-point is P2P. This is a collision. Therefore we must never use P2P on whole repository.
If the user (who reads the tutorials) selects the term (generally via double-click via mouse)
- he can search that term quickly where else it is used.
- viewer (software) highlights the term automatically if it is used elsewhere on the same document.
We use shortest because:
- Display more information on smaller screens.
- Take up less space (file size).
Some terms can be used via dash or white space.
Spring bootSpring-boot
For those cases only one style of that term must be used throughout the entire repository.
If the user (who reads the tutorials) selects the term (generally via double-click via mouse)
- he can search that term quickly where else it is used.
- viewer (software) highlights the term automatically if it is used elsewhere on the same document.
Each file must be lower than 400 KB.
github.comdoes not showMarkdownoutput (preview) for big files.- Better performance when editing or reading files (especially from mobile/tablets).
- Some
Markdownviewers do not showTitle of contentfor file which has too many titles.
-
There may be missing information (it will always be there anyway), but the accuracy of the available information is very important. If we are not sure about the accuracy of a sentence, it must be mentioned that we have no any sources related to it.
-
The source of every simple sentence does not need to be specified in order to prevent the file from becoming too large.
-
Each URL (even they are not source of any content) must be archived (cached) on
archive.isandweb.archive.org. -
All the details about the source file (like title, subtitle), must be written directly inside articles.
-
When searching already archived URL from
archive.isorweb.archive.orgall below combinations should be try:- with and without
hashtag(#) httporhttps
- with and without
Do not export/convert files as PDF (A4) or any portrait-oriented file format.
Prefer HTML because it supports landscape tables.
The large tables do not fit on the page.
Most frequently Markdown is rendering to HTML. HTML accepts only one H1 item. Therefore only one H1 title must be use on a file.
All titles must include π (pin) icon depending on its level. Because many HTML does not render the sub-titles very clear (example: they are not bold enough). Also the end user cannot understand which level the subheading is.
-
1st level title must not have any π. (This must be the file name)
-
2nd level title must have 1 π.
-
3rd level title must have 2 π.
-
4rd level title must have 3 π.
-
If you need 5th subtitle please consider to separate the topics.
Pin or similar icons are only allowed in titles.
Abbreviations must have a prefix abb-tr, abb-eng. Abbreviations must be written in the title.
That makes easier to search with keywords.
But the prefixes are optional. Prefixes (such as abb-eng) does not have to be added if not necessary.
Example-1:appis abbreviation ofapplication. This information is well known.Example-2: If the title hasGreekcharacters then we do not needgrprefix.
Valid title examples:
eng:application (β· abb-eng:app β· tr:uygulama β· gr:ΟΟΟΞ³ΟΞ±ΞΌΞΌΞ±)
application (β· app β· tr:uygulama β· gr:ΟΟΟΞ³ΟΞ±ΞΌΞΌΞ±)
application (β· app β· tr:uygulama β· ΟΟΟΞ³ΟΞ±ΞΌΞΌΞ±)
If an abbreviation is abbreviation of a proper name it gets a prefix only: abb. Because proper names are independent of any language.
Valid Example:
Kubernetes (β· abb:K8s)
If a title has an older synonym, it gets old-name prefix. Example:
Solaris (β· old-name:SunOS)
If a title has an older name, that means the term is proper name. And proper names are independent of any language. Therefor it does not get a language keyword (lile eng, tr, gr).
Any information about the title terminology must be written in the first sentence after the title.
Title must contain exact synonym words. The words in the title must not have close meanings to each other. Otherwise it can be mentioned in the next line.
If the text has synonym or abbreviation, all of those must be mention on title.
But if that term does not appear in any title (in other words: the term does not have its own title), only then we can use it inside paragraph as below:
Firefox is an open source `application (β· abb-eng:app β· tr:uygulama)`.As you see it is same as title format. The only difference is that we wrap the term inside `.
Version lists or tables must have a title which suffixed with version history.
Examples:
HTTP version history
Android version history
This makes searching standardized.