Firefox-UI-Fix/docs/Project_Structure.md
2022-04-06 15:14:24 +09:00

2.5 KiB

Project Structure

Table of Contents

Basics

The overall structure of this project.

root
|- __tests__/: Mixin spec test
|- icons/: Icons, illustrations
|- src/: Source files
|- src/userChrome.scss: Entry of SCSS for Browser UI
|- src/userContent.scss: Entry of SCSS for Web pages
|- .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 powersehll
|- install.sh: Install script write in bash
|- package.json: Build setup, package dependency
|- LEPTON: Meta infos (branch, version)
|- user.js: about:config settings
|- userChrome.css: Build result of src/userChrome.scss (Don't modify directly!!)
|- userContent.css: Build result of src/userContent.scss (Don't modify directly!!)
|- yarn.lock: Auto generated dependency (Don't modify directly!!)

Icon files

Most of them are made in SVG.

Except for illustrations, there must be an fill="context-fill" fill-opacity="context-fill-opacity" property to dynamically determine color and transparency.

Icons are mainly FirefoxUX/photon-icons or microsoft/fluentui-system-icons.

You can see more in the issue, Unify icon design langauge #213.

Meta Info files

It comes from install.sh.

LEPTON file format

If this file exist in same directory as the userChrome.css file, it is recognized as the "Lepton" installation directory.

[Info]
Branch=master | photon-style | proton-style
Ver=<git tag> | <git hash> | [NULL]

lepton.ini file Format

In lepton.ini, various information is stored during the installation process.
This file is recreated every time the installer is created.

[Profile Name]
Type=Local | Release | Git
Branch=master | photon-style | proton-style
Ver=<git tag> | <git hash> | [NULL]
Path=<Full PATH>

Update Policy according to Type

  • Local(unknown): force latest commit update
  • Release(): force latest tag update
  • Git: latest commit update