Просмотр исходного кода

Merge pull request #1063 from PrivateBin/restructure-doc

Restructure documentation
El RIDO 3 лет назад
Родитель
Сommit
3513d18029
6 измененных файлов с 104 добавлено и 71 удалено
  1. 1 1
      Makefile
  2. 1 1
      README.md
  3. 59 0
      doc/Generating Source Code Documentation.md
  4. 3 1
      doc/Installation.md
  5. 36 59
      doc/README.md
  6. 4 9
      tst/README.md

+ 1 - 1
Makefile

@@ -2,7 +2,7 @@
 
 
 CURRENT_VERSION = 1.5.2
 CURRENT_VERSION = 1.5.2
 VERSION ?= 1.5.3
 VERSION ?= 1.5.3
-VERSION_FILES = index.php bin/ cfg/ *.md css/ i18n/ img/ js/package.json js/privatebin.js lib/ Makefile tpl/ tst/
+VERSION_FILES = index.php bin/ cfg/ *.md doc/Installation.md css/ i18n/ img/ js/package.json js/privatebin.js lib/ Makefile tpl/ tst/
 REGEX_CURRENT_VERSION := $(shell echo $(CURRENT_VERSION) | sed "s/\./\\\./g")
 REGEX_CURRENT_VERSION := $(shell echo $(CURRENT_VERSION) | sed "s/\./\\\./g")
 REGEX_VERSION := $(shell echo $(VERSION) | sed "s/\./\\\./g")
 REGEX_VERSION := $(shell echo $(VERSION) | sed "s/\./\\\./g")
 
 

+ 1 - 1
README.md

@@ -96,7 +96,7 @@ file](https://github.com/PrivateBin/PrivateBin/wiki/Configuration):
 
 
 * [FAQ](https://github.com/PrivateBin/PrivateBin/wiki/FAQ)
 * [FAQ](https://github.com/PrivateBin/PrivateBin/wiki/FAQ)
 
 
-* [Installation guide](https://github.com/PrivateBin/PrivateBin/blob/master/INSTALL.md#installation)
+* [Installation guide](https://github.com/PrivateBin/PrivateBin/blob/master/doc/Installation.md#installation)
 
 
 * [Configuration guide](https://github.com/PrivateBin/PrivateBin/wiki/Configuration)
 * [Configuration guide](https://github.com/PrivateBin/PrivateBin/wiki/Configuration)
 
 

+ 59 - 0
doc/Generating Source Code Documentation.md

@@ -0,0 +1,59 @@
+# Generating Source Code Documentation
+
+## Generating PHP documentation
+
+In order to generate the documentation, you will need to install the following
+packages and its dependencies:
+* phpdoc
+* graphviz
+
+Details about
+[installing phpDocumentor](https://phpdoc.org/docs/latest/getting-started/installing.html)
+can be found in that projects documentation.
+
+Example for Debian and Ubuntu:
+```console
+$ sudo apt install php-pear graphviz
+$ sudo pear channel-discover pear.phpdoc.org
+$ sudo pear install phpdoc/phpDocumentor
+```
+
+To generate the documentation, change into the main directory and run phpdoc:
+```console
+$ cd PrivateBin
+$ phpdoc --visibility public,protected,private -t doc/phpdoc -d lib/
+```
+
+**Note:** When used with PHP 7, the prerelease of phpDocumentator 2.9 needs to be
+manually installed by downloading it from
+[GitHub](https://github.com/phpDocumentor/phpDocumentor2/releases/download/v2.9.0/phpDocumentor.phar)
+and then manually moving it to e.g. `/usr/local/bin` and making it executable.
+
+## Generating JS documentation
+
+In order to generate the documentation, you will need to install the following
+packages and its dependencies:
+* npm
+
+Then you can use the node package manager to install the latest stable release
+of jsdoc globally:
+
+```console
+$ npm install -g jsdoc
+```
+
+Example for Debian and Ubuntu, including steps to allow current user to install
+node modules globally:
+```console
+$ sudo apt install npm
+$ sudo mkdir /usr/local/lib/node_modules
+$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
+$ npm install -g jsdoc
+$ ln -s /usr/bin/nodejs /usr/local/bin/node
+```
+
+To generate the documentation, change into the main directory and run phpdoc:
+```console
+$ cd PrivateBin
+$ jsdoc -p -d doc/jsdoc js/privatebin.js js/legacy.js
+```

+ 3 - 1
INSTALL.md → doc/Installation.md

@@ -1,6 +1,8 @@
 # Installation
 # Installation
 
 
-**TL;DR:** Download the
+## TL;DR
+
+Download the
 [latest release archive](https://github.com/PrivateBin/PrivateBin/releases/latest)
 [latest release archive](https://github.com/PrivateBin/PrivateBin/releases/latest)
 (with the link labelled as "Source code (…)") and extract it in your web hosts
 (with the link labelled as "Source code (…)") and extract it in your web hosts
 folder where you want to install your PrivateBin instance. We try to provide a
 folder where you want to install your PrivateBin instance. We try to provide a

+ 36 - 59
doc/README.md

@@ -1,60 +1,37 @@
-Generating PHP documentation
-============================
-
-In order to generate the documentation, you will need to install the following
-packages and its dependencies:
-* phpdoc
-* graphviz
-
-Details about
-[installing phpDocumentor](https://phpdoc.org/docs/latest/getting-started/installing.html)
-can be found in that projects documentation.
-
-Example for Debian and Ubuntu:
-```console
-$ sudo apt install php-pear graphviz
-$ sudo pear channel-discover pear.phpdoc.org
-$ sudo pear install phpdoc/phpDocumentor
-```
-
-To generate the documentation, change into the main directory and run phpdoc:
-```console
-$ cd PrivateBin
-$ phpdoc --visibility public,protected,private -t doc/phpdoc -d lib/
-```
-
-**Note:** When used with PHP 7, the prerelease of phpDocumentator 2.9 needs to be
-manually installed by downloading it from
-[GitHub](https://github.com/phpDocumentor/phpDocumentor2/releases/download/v2.9.0/phpDocumentor.phar)
-and then manually moving it to e.g. `/usr/local/bin` and making it executable.
-
-Generating JS documentation
-============================
-
-In order to generate the documentation, you will need to install the following
-packages and its dependencies:
-* npm
-
-Then you can use the node package manager to install the latest stable release
-of jsdoc globally:
-
-```console
-$ npm install -g jsdoc
-```
-
-Example for Debian and Ubuntu, including steps to allow current user to install
-node modules globally:
-```console
-$ sudo apt install npm
-$ sudo mkdir /usr/local/lib/node_modules
-$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
-$ npm install -g jsdoc
-$ ln -s /usr/bin/nodejs /usr/local/bin/node
-```
-
-To generate the documentation, change into the main directory and run phpdoc:
-```console
-$ cd PrivateBin
-$ jsdoc -p -d doc/jsdoc js/privatebin.js js/legacy.js
-```
+# PrivateBin Documentation
 
 
+## [Frequently Asked Questions](https://github.com/PrivateBin/PrivateBin/wiki/FAQ)
+
+Please have a look at these questions *before* opening an issue in this repo.
+
+## [Installation guide](https://github.com/PrivateBin/PrivateBin/blob/master/doc/Installation.md#installation)
+
+Minimal requirements, hardening and securing your installation and initial
+configuration.
+
+## [Configuration guide](https://github.com/PrivateBin/PrivateBin/wiki/Configuration)
+
+Detailed guide on each configuration option and their effects.
+
+## [Templates](https://github.com/PrivateBin/PrivateBin/wiki/Templates)
+
+How to change an existing template or create your own, as well as an overview of
+the currently included templates.
+
+## [Translation guide](https://github.com/PrivateBin/PrivateBin/wiki/Translation)
+
+How to help translate PrivateBin and technical background on it's implementation.
+
+## [Developer guide](https://github.com/PrivateBin/PrivateBin/wiki/Development)
+
+Know how for participating in PrivateBins development.
+
+### [Generating Source Code Documentation](https://github.com/PrivateBin/PrivateBin/blob/master/doc/Generating%20Source%20Code%20Documentation.md#generating-source-code-documentation)
+
+How to generate the source code API documentation, as found on the project
+website for [PHP](https://privatebin.info/codedoc/) and [JS](https://privatebin.info/jsdoc/)
+
+### [Running Unit Tests](https://github.com/PrivateBin/PrivateBin/blob/master/tst/README.md#running-all-unit-tests)
+
+How to run the PHP & JS unit tests, including a brief introduction to property
+based unit testing.

+ 4 - 9
tst/README.md

@@ -1,5 +1,4 @@
-Running all unit tests
-======================
+# Running All Unit Tests
 
 
 Since it is non-trivial to setup all dependencies for our unit testing suite,
 Since it is non-trivial to setup all dependencies for our unit testing suite,
 we provide a docker image that bundles all of them into one container, both
 we provide a docker image that bundles all of them into one container, both
@@ -34,8 +33,7 @@ well as the integrated unit testing utilities. See our [docker wiki
 page](https://github.com/PrivateBin/PrivateBin/wiki/Docker#janitor-image-with-cloud9-and-theia-webide-janitortechnologyprivatebin)
 page](https://github.com/PrivateBin/PrivateBin/wiki/Docker#janitor-image-with-cloud9-and-theia-webide-janitortechnologyprivatebin)
 for further details on this.
 for further details on this.
 
 
-Running PHP unit tests
-======================
+## Running PHP Unit Tests
 
 
 In order to run these tests, you will need to install the following packages
 In order to run these tests, you will need to install the following packages
 and their dependencies:
 and their dependencies:
@@ -75,8 +73,7 @@ $ phpunit ConfigurationCombinationsTest.php
 Note that it can take an hour or longer to run the several thousand tests.
 Note that it can take an hour or longer to run the several thousand tests.
 
 
 
 
-Running JavaScript unit tests
-=============================
+## Running JavaScript Unit Tests
 
 
 In order to run these tests, you will need to install the following packages
 In order to run these tests, you will need to install the following packages
 and its dependencies:
 and its dependencies:
@@ -112,8 +109,7 @@ $ cd PrivateBin/js
 $ nyc mocha
 $ nyc mocha
 ```
 ```
 
 
-Property based unit testing
----------------------------
+### Property Based Unit Testing
 
 
 In the JavaScript unit tests we use the JSVerify library to leverage property
 In the JavaScript unit tests we use the JSVerify library to leverage property
 based unit testing. Instead of artificially creating specific test cases to
 based unit testing. Instead of artificially creating specific test cases to
@@ -154,4 +150,3 @@ with the same RNG state as follows:
 ```console
 ```console
 $ nyc mocha test --jsverifyRngState 88caf85079d32e416b
 $ nyc mocha test --jsverifyRngState 88caf85079d32e416b
 ```
 ```
-