Skip to content
This repository has been archived by the owner on Feb 15, 2023. It is now read-only.

Commit

Permalink
🚧 Begin on getting started documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
trickypr committed Sep 24, 2021
1 parent 8e28333 commit 1337252
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 34 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Enforce code style
name: Build docs

on:
push:
Expand Down
3 changes: 0 additions & 3 deletions docs/gettingstarted.md

This file was deleted.

53 changes: 41 additions & 12 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,46 @@
# Welcome to MkDocs
# Getting started with melon

For full documentation visit [mkdocs.org](https://www.mkdocs.org).
## What is melon

## Commands
Melon is a build tool and documentation for creating firefox-based browsers. Its goal is to simplify the process of creating web browsers to encourage competition and development within the space.

* `mkdocs new [dir-name]` - Create a new project.
* `mkdocs serve` - Start the live-reloading docs server.
* `mkdocs build` - Build the documentation site.
* `mkdocs -h` - Print help message and exit.
## System requirements

## Project layout
**OS**: Linux, Windows, MacOS (We only have active contributors on linux, so other platforms might be a touch buggy)
**Melon dependencies**: NodeJS and npm
**Browser dependencies**: TODO: find out what firefox's build dependencies are

mkdocs.yml # The configuration file.
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.
## Getting started

The first thing you are going to need to do is to install melon. As it is a nodejs program it can be installed through npm or yarn.

```sh
npm install -g melon-build
# or
yarn global add melon-build

# Note: Linux and mac users may have to run the above command with sudo
```

Now create a git repo and clone it to your local machine. Then run `melon setup-project` inside of that repo. This will ask you a variety of questions in relation to your project setup. Firstly, the release of the browser you want to bind to.

- `Firefox nightly`: Updates every 12 hours, making it almost impossible to keep up to date **(not recommended)**
- `Firefox beta`: Updates every 4 weeks. It will have unresolved bugs **(not recommended)**
- `Firefox developer edition`: Tracks firefox beta **(not recommended)**
- `Firefox stable`: Releases around every 4 weeks, however has most of the bugs from beta fixed
- `Firefox extended support release (newer)`: The latest extended support release. Releases around once every 8 stable cycles (mozilla isn't clear on this). Receives regular small security patches and bug fixes, but no large breaking changes (e.g. [proton](https://www.omgubuntu.co.uk/2021/02/try-firefox-proton-redesign-ubuntu)) between releases.
- `Firefox extended support release (newer)`: The oldest supported extended support release. Maximum security and stability, but will lose support sooner than the newer extended support release.

Dot browser currently uses the stable releases, and keeping up to date can be a struggle with a small development team.

Then next is the version of the browser you want to use. By default melon will populate this with the latest version available, which we recommend using.

Next it will ask for the name of your browser. Avoid references to firefox or other mozilla brands if you can.

Vendor is the company (or solo developer) who is creating the browser.

The appid follows reverse dns naming conventions. For example, DotHQ owns the domain `dothq.co`, so our browser is `co.dothq.browser`. If you do not have a domain, you can use your username / psudomim as the appid, e.g. `trickypr.watermelon`.

Next you need to chose a starting template for your browser. You can go with userchrome, where you apply css changes to firefox or custom html, where you have to write everything (tabs, navigation, search boxes) yourself. We generally recommend userchrome for new users, as it has the lowest learning curve. Additionally, you can chose to use no template.

Now you have created the directory structure for your project, you can build it for the first time.
3 changes: 0 additions & 3 deletions mkdocs.yml

This file was deleted.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@
"build": "tsc && echo \"#!/bin/node\"|cat - ./dist/index.js > /tmp/out && mv /tmp/out ./dist/index.js && chmod +x ./dist/index.js",
"format": "prettier . -w",
"app": "ts-node ./src/index",
"docs:install": "pip install mkdocs mkdocs-gitbook",
"docs:dev": "mkdocs serve",
"docs:build": "mkdocs build"
"docs:install": "",
"docs:build": "simple-docs build"
},
"repository": {
"type": "git",
Expand Down Expand Up @@ -51,6 +50,7 @@
},
"devDependencies": {
"@redux-devtools/cli": "^1.0.0-9",
"@trickypr/simple-docs": "^1.0.0",
"@types/dockerode": "^3.2.1",
"@types/fs-extra": "^9.0.6",
"@types/node": "^14.14.16",
Expand Down
30 changes: 18 additions & 12 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,14 @@
dependencies:
defer-to-connect "^1.0.1"

"@trickypr/simple-docs@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@trickypr/simple-docs/-/simple-docs-1.0.0.tgz#898665866b0115ccbe28179b821dbf7e7bd8864a"
integrity sha512-1qVrK4BwmqE1Y30nN5EcCia2CsonkOVeYVzFtKMYlHxUzRcHo96IiWdN2BK5ZBDhK2W5qS6daHi2m5MuC+8D2A==
dependencies:
commander "^8.2.0"
marked "^3.0.4"

"@tsconfig/node10@^1.0.7":
version "1.0.8"
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
Expand Down Expand Up @@ -893,13 +901,6 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==

"@types/ncp@^2.0.5":
version "2.0.5"
resolved "https://registry.yarnpkg.com/@types/ncp/-/ncp-2.0.5.tgz#5c53b229a321946102a188b603306162137f4fb9"
integrity sha512-ocK0p8JuFmX7UkMabFPjY0F7apPvQyLWt5qtdvuvQEBz9i4m2dbzV+6L1zNaUp042RfnL6pHnxDE53OH6XQ9VQ==
dependencies:
"@types/node" "*"

"@types/node@*":
version "16.9.4"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.4.tgz#a12f0ee7847cf17a97f6fdf1093cb7a9af23cca4"
Expand Down Expand Up @@ -1874,6 +1875,11 @@ commander@^6.2.1:
resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==

commander@^8.2.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-8.2.0.tgz#37fe2bde301d87d47a53adeff8b5915db1381ca8"
integrity sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==

[email protected]:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
Expand Down Expand Up @@ -4072,6 +4078,11 @@ map2tree@^1.5.0:
dependencies:
lodash "^4.17.19"

marked@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/marked/-/marked-3.0.4.tgz#b8a1539e5e05c6ea9e93f15c0bad1d54ce890406"
integrity sha512-jBo8AOayNaEcvBhNobg6/BLhdsK3NvnKWJg33MAAPbvTWiG4QBn9gpW1+7RssrKu4K1dKlN+0goVQwV41xEfOA==

matcher@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
Expand Down Expand Up @@ -4282,11 +4293,6 @@ ncom@^1.0.2:
dependencies:
sc-formatter "~3.0.1"

ncp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=

needle@^2.2.1:
version "2.9.1"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684"
Expand Down

0 comments on commit 1337252

Please sign in to comment.