Doc: Improve document readability

This commit is contained in:
2641a40fd44383320adde4b027a1d0b03bd550 2022-11-17 16:03:59 +05:00
parent 7fc62b9b1c
commit 9d641fa4bb
7 changed files with 42 additions and 44 deletions

View file

@ -18,14 +18,14 @@
-----
🔔🔔 Did you set a custom, but not work?
🔔🔔 Does the theme not work after installation?
You should copy [[./user.js][ ~user.js~ ]] file before the theme works.
The option system depends on user configuration, and nothing applies without settings. \\
Also, real-time changes are difficult for [[./docs/Restrictions.md#supports][technical limitations]] and require restarts.
Also, real-time changes are difficult because of [[./docs/Restrictions.md#supports][technical limitations]] and require a restart.
Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-userjs][can be conflict]] and should be explicitly =false=.
Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-userjs][can be conflicted]] and should be explicitly set to =false=.
-----
@ -50,10 +50,8 @@ Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-u
- Default light/dark theme contrast enhancement
- Colorful context menu
- More dark mode support
- GTK system theme support
- Windows system theme support
- Mac system theme support
- Windows7 compatibility
- Windows/Mac/Linux system theme support
- Windows 7 compatibility
- *Icons*
- Panel
- Context Menu
@ -66,13 +64,13 @@ Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-u
- Menu
- Density
- Others...
- *Tabbar Layouts*
- *Tab Bar Layouts*
- Tabs on Bottom
- One Liner
- Vertical Tab Support
- *Tab Design*
- General:
- Connect with toolbar(Buttons like tabs)
- Connect with toolbar (buttons like tabs)
- Selected:
- Box Shadow: Highlight the selected tab
- Bottom Rounding: Natural
@ -98,7 +96,7 @@ Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-u
- Focused Shadow: Same as the accent color
- Hand off to Awesomebar
- Icons:
- Size: Fill(Changes dynamically to your size)
- Size: Fill (Changes dynamically to your size)
- *Error Page Design*
- Illustrations: Restore error page illustrations
- *Video Player*
@ -116,9 +114,9 @@ Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-u
** Installation Guide
*Script Installation (experimental)*
*Installation script (experimental)*
Linux, mac users:
Linux/Mac users:
#+BEGIN_SRC bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/black7375/Firefox-UI-Fix/master/install.sh)"
#+END_SRC
@ -133,8 +131,8 @@ Windows users: Run with powershell ([[https://github.com/black7375/Firefox-UI-Fi
You can see the [[https://github.com/black7375/Firefox-UI-Fix/wiki/Installation-Guide][installation guide]] with screenshots on the wiki.
1. Download files
- Click the green ":arrow_down: Code"-button above
- Select ":package: Download Zip"
- Click the green ":arrow_down: Code" button above
- Select ":package: Download ZIP"
2. Find your profile directory
- Open =about:support= in a new tab
- Find the =Profile Folder= entry and click the =Open Folder= button

View file

@ -19,10 +19,10 @@
**Explanation**
Firefox achieve performance improvements by moving many of their internal parts from being standalone files or sets of JAR files into just one JAR file called `omni.ja`.
Firefox achieves performance improvements by moving many of their internal parts from being standalone files or sets of JAR files into just one JAR file called `omni.ja`.
This reduces the amount of I/O needed to load the application.
Chrome content, modules, non-binary components, and many other elements are packaged in an omni.jar file for each base directory.
Chrome content, modules, non-binary components, and many other elements are packaged in an omni.ja file for each base directory.
- `actors/`: [JSActors](https://firefox-source-docs.mozilla.org/dom/ipc/jsactors.html) related files.
- `chrome.manifest`: The [chrome manifest](https://udn.realityripple.com/docs/Mozilla/Chrome_Registration) file.

View file

@ -27,7 +27,7 @@
- Convention is to use a dotted segmented form (Ex. `browser.cache.disk.enable`)
- Value:
- Type: bool, 32-bit ints, 8-bit C string
- When you need an float, use a string. (Ex. `general.smoothScroll.currentVelocityWeighting`: `"0.25"`)
- When you need a float, use a string (Ex. `general.smoothScroll.currentVelocityWeighting`: `"0.25"`)
**Main Purpose**
- Feature enable/disable flags (Ex. `xpinstall.signatures.required`).
@ -47,7 +47,7 @@ Key information on the sets that can be used in the configuration file.
- `user_pref()`: Set user pref
The following is a method of operating the configuration file parser.
See [EBNF(Extended Backus-Naur form)](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form) if you want to know about syntax.
See [EBNF (Extended Backus-Naur form)](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form) if you want to know about syntax.
```ebnf
<pref-file> = <pref>*
@ -107,7 +107,7 @@ It is written to `prefs.js` in a way that can be set by the GUI.
**Basics**
It exists in the profile directory, and is used to store settings that are changed from *defaults* or when users added *new settings*.
In general, Do NOT edit `prefs.js` directly.
In general, do NOT edit `prefs.js` directly.
### user.js
**Related Docs**

View file

@ -23,12 +23,12 @@ root
|- src/: Source files
|- src/leptonChrome.scss: Entry of SCSS for Browser UI
|- src/leptonContent.scss: Entry of SCSS for Web pages
|- .gitattributes: Exclude at `Download Zip`
|- .gitattributes: Exclude at `Download ZIP`
|- .github: Issue/PR Template, Github Actions
|- .prettierignore: Exclude coding style
|- .prettierrc.json: Coding style
|- install.ps1: Install script write in powershell
|- install.sh: Install script write in bash
|- install.ps1: Install script written in powershell
|- install.sh: Install script written in bash
|- package.json: Build setup, package dependency
|- LEPTON: Meta infos (branch, version)
|- user.js: about:config settings
@ -88,7 +88,7 @@ Path=<Full PATH>
Inspired by [arkenfox](https://github.com/arkenfox/user.js/wiki/3.1-Overrides).
These files need to use a shell script and has some priorities.
CSS override settings(`userChrome-overrides.css`, `userContent-overrides.css`) are relatively simple.
CSS override settings (`userChrome-overrides.css`, `userContent-overrides.css`) are relatively simple.
- `./<CSS_OVERRIDES>` (Will be copied `<FIREFOX_PROFILE>/chrome/`)
- `<FIREFOX_PROFILE>/chrome/<CSS_OVERRIDES>`

View file

@ -31,15 +31,15 @@ Firefox Source Code:
- [Firefox Source Docs](https://firefox-source-docs.mozilla.org/)
Firefox Documents:
- [Support Mozilla: Firefox advanced customization and configuration options](https://support.mozilla.org/en-US/kb/firefox-advanced-customization-and-configuration)
- [Support Mozilla: Profiles - Where Firefox stores your bookmarks, passwords and other user data](https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data)
- [Mozilla Support: Firefox advanced customization and configuration options](https://support.mozilla.org/en-US/kb/firefox-advanced-customization-and-configuration)
- [Mozilla Support: Profiles - Where Firefox stores your bookmarks, passwords and other user data](https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data)
Test for None mac users:
Test for non-Mac users:
- [Docker-OSX](https://github.com/sickcodes/Docker-OSX)
## Project-Specific
### Environment
[`git`](https://git-scm.com/) and [`yarn`](https://yarnpkg.com/) should be installed.
[`git`](https://git-scm.com/) and [`yarn`](https://yarnpkg.com/) must be installed.
You can configure it as follows:
```shell

View file

@ -89,9 +89,9 @@ I don't know the exact reason, but it can be a problem if it is not applied to [
### Fork Browsers
Fork browsers have a different installation location([bash](https://github.com/black7375/Firefox-UI-Fix/blob/2e87567b662922810d53959e46084b78f330f54e/install.sh#L336-L353), [powershell](https://github.com/black7375/Firefox-UI-Fix/blob/2e87567b662922810d53959e46084b78f330f54e/install.ps1#L387-L395)), and there may be a menu that Firefox does not have.
Fork browsers have a different installation location ([bash](https://github.com/black7375/Firefox-UI-Fix/blob/2e87567b662922810d53959e46084b78f330f54e/install.sh#L336-L353), [powershell](https://github.com/black7375/Firefox-UI-Fix/blob/2e87567b662922810d53959e46084b78f330f54e/install.ps1#L387-L395)), and there may be a menu that Firefox does not have.
This is a list of fork browsers supported by this project.
List of fork browsers supported by this project:
- [Waterfox](https://www.waterfox.net/)
- [LibreWolf](https://librewolf.net/)
- [Tor Browser](https://www.torproject.org/download/)
@ -108,7 +108,7 @@ You can apply [Web extentions](https://developer.mozilla.org/en-US/docs/Mozilla/
At this time, we recommend that the [explicit ID](https://extensionworkshop.com/documentation/develop/extensions-and-the-add-on-id/) is set.
If not, an anonymous ID is created in the local, so you need a [UUID replacer](https://github.com/overdodactyl/ShadowFox/blob/master/scripts/uuids.sh).
This is a list of web extentions supported by this project.
List of web extentions supported by this project:
- [Tree Style Tab](https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/)
- [Tab Center Reborn](https://addons.mozilla.org/en-US/firefox/addon/tabcenter-reborn/)
- [Sidebar Tabs](https://addons.mozilla.org/en-US/firefox/addon/sidebartabs/)
@ -119,17 +119,17 @@ We should consider [Legacy addons](https://extensionworkshop.com/documentation/d
Legacy addons can be loaded by [Auto config's feature](./Preference.md#auto-config) or [bootstrapLoder](https://github.com/xiaoxiaoflood/firefox-scripts/tree/master/extensions/bootstrapLoader) and can directly manipulate the DOM structure and style. [onemen/TabMixPlus#168](https://github.com/onemen/TabMixPlus/issues/168)
This is a list of legacy addons supported by this project.
List of legacy addons supported by this project:
- [Tab Mix Plus](https://github.com/onemen/TabMixPlus)
## Internals
### CSS Loading Order
User CSS(`userChrome.css`, `userContent.css`) is usually loaded first.
User CSS (`userChrome.css`, `userContent.css`) is usually loaded first.
In many cases, overriding should be prevented with [`important!`](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#the_!important_exception)(Anti-pattern in general web), and side effects should also be considered. [#11](https://github.com/black7375/Firefox-UI-Fix/issues/11)
In many cases, overriding should be prevented with [`!important`](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#the_!important_exception) (Anti-pattern in general web), and side effects should also be considered. [#11](https://github.com/black7375/Firefox-UI-Fix/issues/11)
### DOM structure cannot be modified
It is possible with [JS(Auto config)](./Preference.md#auto-config), but there are security and configuration issues, so we should make the most of CSS.
It is possible with [JS (Auto config)](./Preference.md#auto-config), but there are security and configuration issues, so we should make the most of CSS.
[`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`::after`](https://developer.mozilla.org/en-US/docs/Web/CSS/::after) can indirectly add CSS elements.
@ -149,7 +149,7 @@ It is recommended to use `list-style-image` when a layout is provided for the im
- [Menu Item Icon](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L4551-L4744)
- [Error Illustration](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userContent.css#L275-L380)
You can use [`-moz-box-ordinal-group`](https://udn.realityripple.com/docs/Web/CSS/box-ordinal-group)([`-moz-box`](https://udn.realityripple.com/docs/Web/CSS/Mozilla_Extensions#display)) and [`order`](https://developer.mozilla.org/en-US/docs/Web/CSS/order)(at [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox)) to change the order of the layout.
You can use [`-moz-box-ordinal-group`](https://udn.realityripple.com/docs/Web/CSS/box-ordinal-group) ([`-moz-box`](https://udn.realityripple.com/docs/Web/CSS/Mozilla_Extensions#display)) and [`order`](https://developer.mozilla.org/en-US/docs/Web/CSS/order) (at [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox)) to change the order of the layout.
In experience, the detailed actions of `-moz-box` and `flex` are different, so tests are required.
- [Separator Order](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L4286-L4288)
- [Sync Menu Item's Image Order](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L4234-L4238)
@ -161,7 +161,7 @@ By default, [attribute selectors](https://developer.mozilla.org/en-US/docs/Web/C
If there is no state attributes, you can bypass by using [both transitions and keyframes](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L2704-L2730) for animation.
### Shadow DOM
Firefox actively uses [shadow dom](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM) internally.
Firefox actively uses [shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM) internally.
To modify, it is often a roundabout approach or impossible to inherit.
@ -170,7 +170,7 @@ One bypass method is to declare [`var()`](https://developer.mozilla.org/en-US/do
- [Audio, Video Player UI](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userContent.css#L5-L47)
- [Video Player Twoline UI](https://github.com/black7375/Firefox-UI-Fix/blob/cbf14cd55a9edada7ab2f5f1b626608fb9fe38a2/src/contents/_video_player.scss#L68-L171): It is pretty difficult when the condition becomes complicated.
Another limitation of shadow dom in user style is that you cannot use shadow dom related selectors like [`:host`](https://developer.mozilla.org/en-US/docs/Web/CSS/:host_function) and [`::part`](https://developer.mozilla.org/en-US/docs/Web/CSS/::part).
Another limitation of shadow DOM in user style is that you cannot use shadow DOM related selectors like [`:host`](https://developer.mozilla.org/en-US/docs/Web/CSS/:host_function) and [`::part`](https://developer.mozilla.org/en-US/docs/Web/CSS/::part).
- [Using ::part() selector in userchrome.css?](https://www.reddit.com/r/FirefoxCSS/comments/d2sukj/using_part_selector_in_userchromecss/)
- [Can't change some shadow-dom properties](https://www.reddit.com/r/FirefoxCSS/comments/rebn3s/cant_change_some_shadowdom_properties/)
@ -180,11 +180,11 @@ Another limitation of shadow dom in user style is that you cannot use shadow dom
Sometimes firefox can use [XUL](https://en.wikipedia.org/wiki/XUL) that have been written and bound with C++ for performance like a treeview of bookmarks.
XUL's [box model](https://udn.realityripple.com/docs/Archive/Mozilla/XUL/Tutorial/The_Box_Model) and [DOM](https://udn.realityripple.com/docs/Archive/Mozilla/XUL/Tutorial/Document_Object_Model) are different from HTML.
There ar few appropriate documents, so we have to read the source code and work. (Ex. [1](https://github.com/mozilla/gecko-dev/blob/master/layout/style/nsCSSAnonBoxList.h), [2](https://github.com/mozilla/gecko-dev/blob/master/layout/xul/tree/nsITreeView.idl))
There are a few appropriate documents, so we have to read the source code and work. (Ex. [1](https://github.com/mozilla/gecko-dev/blob/master/layout/style/nsCSSAnonBoxList.h), [2](https://github.com/mozilla/gecko-dev/blob/master/layout/xul/tree/nsITreeView.idl))
Available CSS features are also restricted.
Example of legacy documents that will help.
Examples of legacy documents that will help:
- [UDN: ::-moz-tree-cell](https://udn.realityripple.com/docs/Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell)
- [UDN: ::-moz-tree-cell-text](https://udn.realityripple.com/docs/Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell-text)
@ -194,9 +194,9 @@ Like [`<toolbar align="end"></toolbar>`](https://udn.realityripple.com/docs/Arch
### Supports
[`@supports`](https://developer.mozilla.org/en-US/docs/Web/CSS/@supports) change in CSS is not detected in real time. (Caching after checking only once)
So a restart is required, and if the mozilla need real time changes, are using `@media` to handle it.
So a restart is required, and if Mozilla needs real time changes, they are using `@media` to handle it.
If project only use pure CSS, we cannot add `@media rules`.
If project only uses pure CSS, we cannot add `@media rules`.
- [Bug 1267890 - Support detecting bool preferences in chrome stylesheets](https://bugzilla.mozilla.org/show_bug.cgi?id=1267890)
- [Bug 1698132 - Improve caching behaviour of -moz-bool-pref](https://bugzilla.mozilla.org/show_bug.cgi?id=1698132)

View file

@ -1,4 +1,4 @@
# Smart Bookmarks(Query Bookmarks)
# Smart Bookmarks (Query Bookmarks)
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc -->
**Table of Contents**
@ -12,7 +12,7 @@
## Basics
**Related Docs**
- [Support Mozilla: Restore the default Smart Bookmarks Folders](https://support.mozilla.org/en-US/kb/restore-default-smart-bookmarks-folders) (Not works)
- [Mozilla Support: Restore the default Smart Bookmarks Folders](https://support.mozilla.org/en-US/kb/restore-default-smart-bookmarks-folders) (does not work)
- [Smart Bookmarks. A quick guide.](https://www.reddit.com/r/firefox/comments/2i4qcy/smart_bookmarks_a_quick_guide/)
- [Smart Bookmarks. A quick guide. (extended)](https://www.reddit.com/r/firefox/comments/fvcw96/query_bookmarks_smart_bookmarks_a_quick_guide/)
- [How to Create Custom Smart Bookmarks Folders in Firefox](https://www.howtogeek.com/111820/how-to-create-custom-smart-bookmarks-folders-in-firefox/)