In order to create a wiki editing account, ask for one on the Discord server.
New users will require their edits get approved by an approver first before it gets shown to the general public.
Recommended reading: https://www.dokuwiki.org/tips:good_style
This page is about employing good practices when editing the wiki. Not the “how” to do something in the wiki, but the “why”. None of these are strict rules, but instead guidelines to help create higher quality articles.
The Batocera Wiki is a collaborative project aimed at both introducing new users to Batocera's flow and giving extensive documentation to developers to help compiling the project. With that being said, here are some questions you should ask yourself before making an edit:
Once that's all checked for, you can begin editing the wiki.
DokuWiki uses its own markup syntax that's similar to but not quite markdown. You can find out the specifics on the DokuWiki syntax page. The Batocera Wiki-specific syntax can be found at the Batocera Wiki code snippets page, though really that's more just commonly used code that's interchangeable between pages like button symbols, page templates, etc.
When starting out, you should use the playground to test things. This page is ordinarily not visible to public search engines so any changes made here are inconsequential. You can also preview your changes before committing them with the Save button, it is good practice to do this with every edit to ensure that links and embedded images are working correctly.
If uploading images to a page in the playground, be sure to set the namespace of the image to your intended finalised namespace. Otherwise, when the page gets moved from the playground to its official namespace, all the images will not be visible to guest users!
It's important to make sure you're using correct spelling and grammar, but for large documentations such as this wiki it's also useful to be consistent in the spelling of Batocera-specific terminology and to be consistent in the formatting of things such as buttons and menu items. It's generally more a rule-of-thumb than a strict guideline, but should you want your edits to look higher quality you should follow these conventions:
/userdata/roms/psx/, which is encoded as ''/userdata/roms/psx/''.*.iso./userdata/roms/psx/.[START], which is coded as ''[START]''.[R1] and [L2]. Refer to the first-tier shoulder buttons as buttons, and the second-tier triggers as triggers.[L3] and [R3], mention “pushing in” when referring to pushing in the sticks. Eg. Then push in [L3] to switch mem-pak.es_systems_<system name>.xml where <system name> is the name of the system you want to customize.This is more a subjective thing as everyone interprets tone and formality different. With that said, here are some loose guidelines:
Renaming pages is highly discouraged. It should only be done in extreme cases where the original name fails to convey the content of the article. This is because search engines and links from external websites will break if the page name is changed. If absolutely sure that the rename is necessary, the page can be renamed with the “Rename page” button on the right-side toolbar (this will allow the wiki to update all the internal links to the new page automatically). A new page with the old page's name containing a link to the renamed page should be made to redirect search engines/old links.
Categories are split by a collapsible section and individual pages are in an unordered list. Here's a short example of a category:
--> Getting Started# * [[:install_batocera|Install Batocera]] * [[:bios_files|BIOS files and how to add them]] * [[:add_games|Game ROMs and how to add them]] <--
The sidebar syntax can be found on its section in the Batocera Wiki code snippets page.
If you've created a new page, the next job is to add a link to it to the sidebar page. You edit this page just like you would any other page.
Headers are used to represent the basic structure of your page, you should always try to keep a clean structure in a page. The syntax for which can be found on the syntax page.
Here is an example of a page's valid header code:
====== Playground ====== This page can be used as way to learn how to edit the wiki. We will first explain why there is a dedicated page for it, and then why its URL has playground:playground in the name ===== Goal ===== ==== Training ==== As you can see, editing a wiki is not an easy task if you don't know how to do it, so this page can be used for this purpose. ==== Avoid unnecessary rollbacks ==== While this wiki system can revert changes done to a previous version, asking newcomers to edit actual pages would be risky, especially since some of them aren't that easy to read and manage in the first place. ===== About the page name ===== The page name is playground:playground because the wiki is set up in such a way that you can link pages to what is called a specific namespace, all the emulator pages are under the "systems" namespace, so they all start with the "systems:" name.
This wiki will automatically create a table of contents based of the headers on your page, unless you put ~~NOTOC~~ on top of your page. The ToC will dynamically change visible sub-sections as the user scrolls down the page. Unless your page has less than four headers total, you should always include a ToC.
https://wiki.batocera.org/ part of the URL!Embedding images can greatly enhance the readers' understanding of the page, however there is such a thing as too much. When embedding images, always make sure you use as small a thumbnail size as possible while still having the image's contents be legible. This assists with mobile viewers. You can specify a size for thumbnails by appending ?500 at the end of your image URL, where the number is how many pixels wide you want it to be.
Although this wiki has a white background, some users may be using custom css that renders the background as a dark color or even black (OLED phones typically enforce this). Keep this in mind when using images with transparency, and always add a white background (unless the image is being used for the explicit purpose of providing a high quality reference image, such as the license page).
Large images should be aligned to the left or center. Small and infrequent images can use any alignment. Multiple small images should be aligned to the right and have enough text content between them so that they don't vertically overlap and push each other toward the center. If there isn't enough text content, use center alignment instead to force the text content to render below the image.
Unordered lists (also referred to as bullet lists) should be used to list elements that can be interpreted in any order. Ordered lists (a.k.a. numbered lists) should be used to relay instructions that should be performed in a certain order.
Sometimes you'll need to display code as is without it being formatted by the wiki's markup.
<code> keyword should always be on its own line for clarity.With that said, if code is needed to be displayed in a bullet list, the first line must begin in the bullet point in the list item's line. Secondary lines and the closing brackets in the code don't have to also follow this rule, but the next bullet point should be the next immediate line.
<code> being in the middle of a line is if the list needs to continue afterward, as above. View this page's code for an example.
To write down paths, or commands, it is fine to surround it with two apostrophes (''), so ''/userdata/system/batocera.conf'' will display as /userdata/system/batocera.conf. Doing this will not skip formatting by itself however, so keep that in mind. You can skip formatting by putting in two percentage symbols like this:
''%%--command [option]%%''
Use this when specifying a single command within a sentence. If you need to specify multiple commands within a single sentence, consider using a code block instead. Eg. Then run batocera-save-overlay
This wiki will automatically adjust the spacing and scaling of tables based on their content and the amount of screen-space available, so no need to worry about that yourself.
Should be avoided in most if not all cases. Collapsible sections require the user to interact with the page, which may not be compatible with certain devices, be difficult to employ, or seem amateurish. With that said, collapsible sections can be used to organize inordinate amounts of necessary information that can be irrelevant to the user currently scanning through the page, such as all the topics available in the sidebar or a really large configuration file.
Compare it to how other similar pages have done it! The beauty of the wiki is that you will be covering information that hasn't been covered before, so there may not be a consistent formatting for it yet. Look at how other, similar-enough pages have formatted their information and take it from there.
For making a new system page specifically, you can follow the system template in the playground.