footnotes aims to be the all-in-one solution for displaying an automatically-generated list of references on your WordPress Page or Post. [NB - clone of https://github.com/markcheret/footnotes, no longer mirroring] https://bengoldsworthy.net/portfolio/programs/footnotes/
This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Rumperuu 6a1117be15
ci: improve release process, clean up and re-org repo, add automated minification (#143)
* ci: update scripts

* release 2.7.1

* remove tracked stylesheets

* docs: revert stable tag to 2.7.0

* chore: move Plugin source into own dir

* docs: delete info texts

These can now be found in the [project wiki][wiki].

[wiki]: https://github.com/markcheret/footnotes/wiki

* docs: tweak contributing guide

* ci: reflect new directory structure

* chore: update gitignore

* chore: reflect new dir structure

* docs: update documentation

* build(linting): add Husky hooks, Markdown linting, lint all MD files

* fix pre-push command

* fix pre-push command

* build: add stylesheet, JS minification

* ci: add linting steps

* ci: comment out CSS linting step (that's going to be a whole *thing*)

* ci: minify all JS files

* ci: call correct JS file

* chore: lint

* ci: fix PHP linting commands

* chore: increment version constant string

* ci: concat AMP stylesheets

* ci: improve build scripts

* chore: add assets dir
2021-04-25 09:28:02 +01:00
.github ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
_tools ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
assets ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
contrib fix: fix pre-commit hook 2021-04-16 03:12:06 +01:00
docs ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
src ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
.distignore ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
.eslintignore ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
.eslintrc.js build: add JS and CSS linters 2021-04-15 03:06:08 +01:00
.gitignore ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
.php-commitizen.php build: increase commitizen lengths 2021-04-17 00:00:21 +01:00
.prettierignore ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
.prettierrc build: add JS and CSS linters 2021-04-15 03:06:08 +01:00
.stylelintignore ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
.stylelintrc.json build: correct stylelint settings 2021-04-15 03:10:02 +01:00
CHANGELOG.md ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
CODE_OF_CONDUCT.md ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
composer.json ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
composer.lock ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
CONTRIBUTING.md ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
LICENSE Create LICENSE 2021-02-21 07:52:09 +00:00
package-lock.json ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
package.json ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
phpdoc.dist.xml ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
README.md ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
SECURITY.md ci: improve release process, clean up and re-org repo, add automated minification (#143) 2021-04-25 09:28:02 +01:00
wpml-config.xml

footnotes

stable tag WP rating Reqd PHP Reqd WP WordPress Plugin: Tested WP Version

GitHub contributors GitHub commits since tagged version GitHub commit activity issues PRs

License: GPL v3 Snyk Vulnerabilities for GitHub Repo OSSAR PHP Composer

Commitizen friendly

footnotes

footnotes aims to be the all-in-one solution for displaying an automatically-generated list of references on your Page or Post. The Plugin ships with a set of defaults while also empowering you to control how your footnotes will be displayed.

footnotes gives you the ability to display well-formatted footnotes on your WordPress Pages and Posts — those footnotes we know from offline publishing.

Featured on wpmudev — cheers for the review, folks!

Table of Contents

Features

This Plugin provides:

  • fully customizable footnote start and end shortcodes;
  • stylable tooltips supporting hyperlinks and dedicated text;
  • a responsive 'reference container', with customisable positioning;
  • a wide choice of different numbering styles;
  • a freely-configurable and optional backlink symbol;
  • footnote appearance customisation via dashboard settings and custom CSS style rules; and
  • editor buttons for easily adding shortcode tags.

Getting Started

  1. Read the contributing guidelines;
  2. clone this repository (git clone git@github.com:markcheret/footnotes.git):
    • we recommend that you use VVV for your local testing environment.
  3. install Composer and NPM; and
  4. install all dependencies (composer install):
    • you will have to install php-mbstring manually if you do not already have it.

Deploying

Automated release deployments will be introduced soon.

Building

  1. Run _tools/build-stylesheets.sh -c to concatenate stylesheets;
  2. manually minify the output files in css/tmp/, saving them as .min.css files:
    • the intention is to replace this with automated minification, meaning that all of these steps can be rolled into a single build command.
  3. run _tools/build-stylesheets.sh -d to deploy the minified files to dist/:
    • this will delete any existing dist/ folder!
  4. run composer run build to move over the remaining files to dist/:
    • currently, the files to include in a distribution are hard-coded in _tools/build.sh; but
    • the intention is to replace this with a proper parsing of the .distignore file

Releasing

  1. Ensure that you have configured your Git config. with SVN credentials;
  2. run the above build commands; and
  3. run composer run release and follow the prompts.

Testing

Automated testing will be introduced soon.

Code Formatting

This repo. uses pre-commit code formatting and linting on all staged files. This ensures that only style-conformant code can be committed.

The individual commands can also be called manually:

  • Run composer run format to run all format commands.

  • Run composer run format:fix to attempt to automatically fix all formatter warnings and errors.

  • Run composer run lint to run all linting commands.

  • Run composer run lint:fix to attempt to automatically fix all linter warnings and errors.

PHP Code

PHP code must follow the WordPress PHP Coding Standards.

  1. Run composer run lint:php to lint all JS/TS files with PHP CodeSniffer
  2. Run composer run lint:php:fix to attempt to automatically fix warnings and errors with the PHP Code Beautifier and Formatter.

JavaScript Code

JavaScript code must follow the WordPress JavaScript Coding Standards.

  • Run composer run format:js to format all JS files with Prettier.

  • Run composer run format:js:fix to attempt to automatically fix warnings and errors.

  • Run composer run lint:js to lint all JS files with ESLint.

  • Run composer run lint:js:fix to attempt to automatically fix warnings and errors.

Prettier configuration settings are found in .prettierrc.

ESLint configuration settings are found in .eslintrc.js. File ignore rules are found in .eslintignore.

CSS Stylesheets

JavaScript code must follow the WordPress CSS Coding Standards.

  • Run composer run lint:css to format all CSS files with stylelint.
  • Run npcomposerm run lint:css:fix to attempt to automatically fix warnings and errors.

stylelint configuration settings are found in .stylelint.json.

Documentation

Run composer run docs to automatically generate HTML documentation with phpDocumentor.

View the current docs here.

Acknowledgements

Huge thanks to every footnotes user, contributor, bug reporter, feature requester and fan!

License

This project is licensed under the GNU GPL v3.

Contact Information

Name Link(s)
Mark Cheret Email