-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #20 from YannisDelmas/experimental/grunt
- Loading branch information
Showing
35 changed files
with
2,584 additions
and
274 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
vendor | ||
node_modules | ||
package-lock.json | ||
.vscode |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
module.exports = function(grunt) { | ||
const chalk = require('chalk'); | ||
const publicFolder = 'docs'; | ||
const traceFile = function(f) { | ||
if ( grunt.file.isFile(f) ) { | ||
console.log(chalk.cyan(f), '→', chalk.cyan(grunt.task.current.data.dest)); | ||
} | ||
return true; | ||
} | ||
|
||
grunt.initConfig({ | ||
copy: { | ||
main: { | ||
expand: true, | ||
src: '{assets/**,*.html}', | ||
dest: publicFolder+'/', | ||
filter: traceFile, | ||
}, | ||
JSLibs: { | ||
expand: true, | ||
flatten: true, | ||
src: 'node_modules/leader-line/leader-line.min.js', | ||
dest: publicFolder+'/assets/js/', | ||
filter: traceFile, | ||
}, | ||
licence: { | ||
src: 'LICENSE', | ||
dest: publicFolder+'/LICENSE.txt', | ||
filter: traceFile, | ||
}, | ||
}, | ||
twigRender: { | ||
options: { | ||
functions: { | ||
asset: function(arg) { | ||
return grunt.file.expand({cwd: publicFolder}, 'assets/**/'+ arg)[0]; | ||
}, | ||
}, | ||
filters: { | ||
glob: function(arg) { return grunt.file.expand(arg); }, | ||
}, | ||
}, | ||
main: { | ||
files: [ | ||
{ | ||
data: {}, | ||
expand: true, | ||
src: ["*.twig", "!*-+([0-9])?(-*).twig", "!_*.twig"], | ||
// tous les modèles TWIG, hormis les composants et les partiels | ||
dest: publicFolder+'/', | ||
ext: ".html" | ||
} | ||
] | ||
} | ||
} | ||
}); | ||
|
||
grunt.loadNpmTasks('grunt-contrib-copy'); | ||
grunt.loadNpmTasks('grunt-twig-render'); | ||
|
||
grunt.registerTask('default', ['copy', 'twigRender']); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,25 @@ | ||
# Le beau code web | ||
|
||
Table des matières : [`index.html`](index.html) | ||
## Documents et dossiers | ||
|
||
Les principes sont dans [`principes.html`](principes.html). | ||
Les fichiers destinés à la publication sont dans [`/docs`](docs). Ils sont mis à jour à l’aide de la commance `make` (cf. ci-dessous). | ||
|
||
Les recommandations actées sont dans la branche `main`. Les propositions à discuter sont à placer dans des branches de développement spécifiques. | ||
Table des matières : [`index.html`](docs/index.html) | ||
|
||
Les principes sont dans [`principes.html`](docs/principes.html). | ||
|
||
## Branches | ||
|
||
Les éléments actés sont dans la branche `main`. Les propositions à discuter sont à placer dans des branches de développement spécifiques. | ||
|
||
## Installation et mise en œuvre | ||
|
||
Ce dépôt utilise [NPM](https://www.npmjs.org/), le gestionnaire de paquets de [Node.js](https://nodejs.org/). Ces deux logiciels doivent être préalablement installés pour pouvoir mettre à jour les fichiers HTML publiés. | ||
|
||
La commande `npm install` permet d’installer et mettre à jour les éléments suivants: | ||
|
||
- [Grunt](https://gruntjs.com/) pour la gestion et la mise en œuvre des mises à jour. | ||
- Plugin [grunt-contrib-copy](https://www.npmjs.com/package/grunt-contrib-copy) de Grunt pour la copie en l’état de fichiers. | ||
- Plugin [grunt-twig-render](https://www.npmjs.com/package/grunt-twig-render) de Grunt, utilisant la bibliothèque [Twig.js](https://github.com/twigjs/twig.js), pour le rendu des modèles TWIG ([Wiki](https://github.com/twigjs/twig.js/wiki)). | ||
|
||
Pour fabriquer les fichiers publiables, entrer la commande `grunt` ou `npm run build`. Pour que les fichiers soient automatiquement fabriqués à chaque enregistrement de fichiers sources, utiliser la commande `npm run watch`. |
Oops, something went wrong.