Create page

Ben Goldsworthy 2021-04-25 16:17:16 +01:00
parent f1d2631d8b
commit 746224d47a

32
Plugin-Architecture.md Normal file

@ -0,0 +1,32 @@
This Wiki page outlines how the Plugin is constructed and what does what.
It has been initially produced as part of #87, but is a living document and is intended to keep up-to-date with changes to the project structure. As such, it is only intended to provide a high-level overview; more detailed documentation can be found in the automatically-generated documentation [here](https://markcheret.github.io/footnotes/).
# Top-Level Repo. Layout
| Dir. Name | Description |
|------|-------------|
| `assets/` | Files to be stored in the [`assets/` directory](https://plugins.svn.wordpress.org/footnotes/assets/) on the SVN repo. (e.g., screenshots for the Plugin information page). |
| `docs/` | Automatically-generated documentation files. |
| `src/` | The source code for the Plugin itself. |
| `_tools/` | Useful Bash scripts (NB: This should eventually be merged with `.github/workflows/`) |
| `.github/` | GitHub Actions workflows and Issue templates. |
# Root Files
| File Name | Description |
|------|-------------|
| `CHANGELOG.md` | The full project changelog. |
| `CODE_OF_CONDUCT.md` | The project CoC. |
| `composer.json` & `composer.lock` | Declares Composer dependencies and scripts. |
| `CONTRIBUTING.md` | A guide to contributing to the project. |
| `LICENSE` | The license under which the project is released. |
| `package.json` & `package-lock.json | Declares NPM dependencies and scripts. |
| `README.md` | Provides an overview of the project. |
| `SECURITY.md` | Provides guidance on reporting security-related issues. |
| `wpml-config.xml` | Used by the [WPML Plugin](https://wpml.org/documentation/support/language-configuration-files/) for translation. |
| `.distignore` | Lists files to ignore when building the Plugin for distribution (NB: Not currently used). |
| `.eslintignore` & `.eslintrc.js` | Config. files for JavaScript linting. |
| `.gitignore` | Lists files to exclude from Git version control. |
| `.prettierignore` & `.prettierrc` | Config. files for JavaScript formatting. |
| `.stylelintignore` & `.stylelinttc.json` | Config. files for stylesheet linting. |