Commit Graph

36 Commits

Author SHA1 Message Date
VirtualTam 04ec8fedd9 lint: setup PHPCS for PSR-1 and PSR-2
Relates to https://github.com/shaarli/Shaarli/issues/95

See:
- https://github.com/squizlabs/PHP_CodeSniffer
- https://github.com/squizlabs/PHP_CodeSniffer/blob/master/phpcs.xml.dist
- https://www.php-fig.org/psr/psr-1/
- https://www.php-fig.org/psr/psr-2/

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-12-02 22:39:16 +01:00
VirtualTam 37c9c6b4e6 lint: remove unused tools
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-12-02 22:39:16 +01:00
ArthurHoaro a136a427ae Include assets in the release_archive Makefile target 2018-07-28 19:52:47 +02:00
VirtualTam fd2e8fad79 Let MkDocs clean previously generated HTML pages
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-06-26 22:20:57 +02:00
ArthurHoaro 03b483aa45 Add SASSLint makefile target, and run it in CI
Also move ESLint and SASSLint config files to a dedicated .dev folder
2018-05-10 13:29:47 +02:00
ArthurHoaro 47978e8772 Webpack / Configure webpack, ESLint, Travis, Makefile, npm/yarn and git 2018-03-28 19:04:40 +02:00
VirtualTam ba2cff1549 Doxygen: ignore data/, simplify Make target
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-02-23 00:37:03 +01:00
nodiscc 76c3a4dbed documentation cleanup
* In preparation of #930 work
 * Remove/reorder duplicate documentation from Makefile/Unit-tests.md/Download-and-Installation.md (composer information is now in Unit-tests.md)
 * Installation using git: add composer requirement to all git installation procedures, add python3-virtualenv requirement
 * Styling (horizontal rulers, spacing, descriptive headers)
2017-11-18 16:22:43 +01:00
ArthurHoaro d637976329 Use makefile target to generate MO file and remove it from git 2017-10-22 12:56:55 +02:00
ArthurHoaro 12266213d0 Shaarli's translation
* translation system and unit tests
 * Translations everywhere

Dont use translation merge

It is not available with PHP builtin gettext, so it would have lead to inconsistency.
2017-10-22 12:55:03 +02:00
VirtualTam 1a216faecb docker: switch to Alpine Linux for the master image
Relates to https://github.com/shaarli/Shaarli/issues/843

Changed:
- switch base image from Debian:Jessie to Alpine:3.6
- switch to PHP 7.1
- switch from supervisord to s6 to manage services

See:
- https://alpinelinux.org/
- https://wiki.alpinelinux.org/wiki/Nginx_with_PHP
- http://www.skarnet.org/software/s6/
  - http://www.skarnet.org/software/s6/s6-svscan.html
  - http://www.skarnet.org/software/s6/s6-svc.html
  - http://www.skarnet.org/software/s6/s6-svstat.html

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-10-03 19:47:01 +02:00
VirtualTam d691604080 docker: add alpine,debian,ubuntu test images
Relates to https://github.com/shaarli/Shaarli/issues/843

Added:
- Makefile target to run commands in a Docker test context
- Docker images to run Shaarli test suites:
  - Alpine 3.6
  - Debian 8
  - Debian 9
  - Ubuntu 16.04
- Documentation

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-09-18 21:13:59 +02:00
VirtualTam dc37a482ed Documentation+Makefile: update AUTHORS generation
Fixes https://github.com/shaarli/Shaarli/issues/935

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-08-29 19:46:23 +02:00
VirtualTam 29712e905b documentation: include generated HTML in release archives
Closes https://github.com/shaarli/Shaarli/issues/908
Relates to https://github.com/shaarli/Shaarli/pull/772

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-08-02 14:48:41 +02:00
VirtualTam eaed9ce88e fix: use pinned dependency revisions when generating release archives
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-08-02 14:44:02 +02:00
nodiscc 8bf94136e1 makefile: remove [[link]] -> [link](url) conversion logic
all links in documentation have been converted to standard markdown link syntax
2017-07-04 21:30:50 +02:00
nodiscc f47aa40c12 makefile: remove obsolete 'doc' target
official documentation can now be found in doc/md/
2017-07-04 21:26:27 +02:00
nodiscc 53ed6d7d1e Generate HTML documentation using MkDocs (WIP)
MkDocs is a static site generator geared towards building project documentation.
Documentation source files are written in Markdown, and configured with a single YAML file.

 * http://www.mkdocs.org/
 * http://www.mkdocs.org/user-guide/configuration/

Ref. #312

* remove pandoc-generated HTML documentation
* move markdown doc to doc/md/,
* mkdocs.yml:
  * generate HTML doc in doc/html
  * add pages TOC/ordering
  * use index.md as index page
* Makefile: remove execute permissions from generated files
* Makefile: rewrite htmlpages GFM to markdown conversion using sed:
   awk expression aslo matched '][' which causes invalid output on complex links with images or code blocks
* Add mkdocs.yml to .gitattributes, exclude this file from release archives
* Makefile: rename: htmldoc -> doc_html target
* run make doc: pull latest markdown documentation from wiki
* run make htmlpages: update html documentation
2017-06-18 00:19:49 +02:00
ArthurHoaro 6c7d686454 Run languages tests using PHPUnit test suites 2017-03-06 21:11:18 +01:00
VirtualTam 3ee5c69777 Add an AUTHORS file, simplify COPYING, bump year to 2017
Added:
- AUTHORS file listing Shaarli contributors
- mailmap information to group a Git author's different aliases
- Makefile target to list contributors from Git commit data

Changed:
- Simplify COPYING by using a single "Shaarli Community" entry
- Bump year to 2017

See:
- man git-shortlog
- https://www.kernel.org/pub/software/scm/git/docs/git-shortlog.html#_mapping_authors

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-01-07 14:49:39 +01:00
VirtualTam ca0ed5ca42 Update release archive generation
Relates to https://github.com/shaarli/Shaarli/issues/607
Relates to https://github.com/shaarli/Shaarli/pull/608

Modifications:
- match the arborescence of the archives provided by GitHub
- generate compressed tarballs

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-10-19 19:50:12 +02:00
VirtualTam 559315ba0a Makefile: generate release archives including 3rd-party libraries
Relates to #607

Archive creation process (tar, zip):
- let Composer resolve functional (no-dev) dependencies
- call git-archive to generate a release archive
- include 3rd-party dependencies to the generated archive

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-07-25 23:54:13 +02:00
ArthurHoaro 2d97aa7781 Remove Delicious in project description in comments 2016-07-23 14:13:56 +02:00
VirtualTam fc17813bd1 tests: add a make target to check file permissions
Additions:
- [makefile] check versioned files are not executable
- [travis]   call the new make target

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-01-17 21:02:24 +01:00
VirtualTam 4bf35ba56b application: refactor version checks, move to ApplicationUtils
Relates to #372

Modifications:
 - move checkUpdate() to ApplicationUtils
 - reduce file I/O operations during version checks
 - apply coding conventions
 - add test coverage

Tools:
 - create a sandbox directory for tests

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2015-11-26 23:19:37 +01:00
VirtualTam 05af6f5325 Add a target to generate Doxygen documentation
Relates to #95

Customizations for PHP/Shaarli:
 - add project information
 - index PHP files
 - index global functions
 - exclude directories

Usage
 $ make doxygen
 $ firefox doxygen/index.html &

Notes
 - classes can be found under "Data Structures"
 - global functions can be found under "Files > Globals > Functions"

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2015-11-22 20:35:00 +01:00
ArthurHoaro a52e843593 Add plugins folder to test analysis 2015-11-07 15:27:22 +01:00
VirtualTam 992af0b9d7 Doc: sync from Wiki, generate HTML
Closes #291
Fixes #227

Modifications
 - HTML content: match the new Wiki structure
 - Makefile
   - generate a custom HTML sidebar
   - include the sidebar on all pages
   - infer and prepend page titles
   - handle relative links
   - add title metadata, e.g. Shaarli - <Page Name>

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2015-08-04 16:02:21 +02:00
VirtualTam 96db105e4c Merge pull request #276 from virtualtam/tools/phpcs
Add a generic rule to run PHPCS against different coding standards
2015-07-31 16:08:32 +02:00
VirtualTam d0ce99e59e Makefile: do not call `clean` before `test`
Fixes #288

Modifications:
 - call `make clean` explicitely to clean the workspace
 - add `make clean` to Travis instructions

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2015-07-18 13:43:19 +02:00
VirtualTam 3e25f245f9 Makefile: add a generic rule to run PHPCS against different coding standards
Relates to #95

Usage
 - list available standards
   $ ./vendor/bin/phpcs -i
 - run PHPCS against a given standard
   $ make PHPCS_<standard>

Examples
 $ make PHPCS_PSR1
 $ make PHPCS_Zend

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2015-07-12 23:04:43 +02:00
VirtualTam ca74886f30 LinkDB: move to a proper file, add test coverage
Relates to #71

LinkDB
 - move to application/LinkDB.php
 - code cleanup
   - indentation
   - whitespaces
   - formatting
 - comment cleanup
   - add missing documentation
   - unify formatting

Test coverage for LinkDB
 - constructor
 - public / private access
 - link-related methods

Shaarli utilities (LinkDB dependencies)
 - move startsWith() and endsWith() functions to application/Utils.php
 - add test coverage

Dev utilities
 - Composer: add PHPUnit to dev dependencies
 - Makefile:
    - update lint targets
    - add test targets
    - generate coverage reports

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2015-06-11 00:45:45 +02:00
nodiscc 82af78b272 use pandoc to generate local HTML documentation
fixes https://github.com/shaarli/Shaarli/issues/178
run 'make htmldoc'
2015-04-05 22:35:01 +02:00
nodiscc f3e89f50ec cleanup: makefile comments 2015-04-05 22:17:37 +02:00
nodiscc 1acc87eeac Include documentation/wiki locally:
* sync current wiki (https://github.com/shaarli/Shaarli/wiki) to the doc/ directory
 * fix missing logo in README
 * add link to local documentation in the page footer
 * add Makefile targets for doc generation by @virtualtam
2015-03-14 18:40:11 +01:00
VirtualTam 00f98bdaca Code quality: Makefile to run static code checkers
Relates to #71
Relates to #95

Additions:
- Makefile for easy usage,
- Composer file to declare dev & test dependencies.

Features:
- PHP Copy/Paste Detect: detect duplicate code;
- PHP Code Sniffer: static analysis, syntax checking,
- PHP Mess Detector: static analysis, syntax checking.

Signed-off-by: VirtualTam <virtualtam@flibidi.org>
2015-03-05 23:28:43 +01:00