Giter Site home page Giter Site logo

polenta's Introduction

Polenta

Instructions d’installation

  1. cd polenta
  2. Installer les dépendances back-end : composer install
  3. Installer les dépendances front-end : npm install
  4. Produire les éléments front-end: gulp (Ajouter l’option --production en prod)
  5. Copier .env.example vers .env et remplir la configuration

Outils de projet

Dépendances

Back-end

Note : Composer est utilisé pour la gestion des dépendances PHP. La liste complète des dépendances doit donc se trouver dans le fichier /.composer.json à la racine du projet. La liste suivante devrait cependant être tenue à jour pour rappeler l’utilité de chacune d’entre elles et fournir un lien vers son éventuelle documentation.

Dev-only

Front-end

Note : NPM est utilisé pour la gestion des dépendances front-end. La liste complète des dépendances doit donc se trouver dans le fichier /.package.json à la racine du projet. La liste suivante devrait cependant être tenue à jour pour rappeler l’utilité de chacune d’entre elles et fournir un lien vers son éventuelle documentation.

  • Elixir qui est une surcouche de Gulp est utilisé pour traiter les assets CSS, JS et autres, notamment :
    • Le code CSS est généré à l’aide de Sass et d’Autoprefixer, concaténé et minifié le cas échéant
    • Le code JS est testé avec JSHint, concaténé et minifié le cas échéant
  • Bootstrap 3 Framework CSS, version Sass
  • Select2 améliore les <select>
  • wysihtml éditeur HTML
  • Font Awesome icônes d’interface (SVG version from Font-awesome-svg-png)
  • Clipboard.js pour copier vers le presse-papier
  • Slick carousel

Fontes

La super-famille de fontes Alegreya est utilisée dans ses variantes open-source en cohérence avec les choix opérés pour la version papier du magazine, se reporter aux descriptions des familles concernant les versions commerciales pour plus d’informations sur l’approche générale de celles-ci :

Les dépôts des versions open-sources utilisés ici :


Authentication

On utilise l’authentification proposée de base par Laravel, en supprimant la possibilité de s’inscrire.

Utilisation de WYSIHTML

Les fonctions de base sont assez simples à mettre en œuvre : se référer à la documentation en ligne du plugin référencée plus haut. Elles sont ici implémentées à l’aide d’un partial de vue (_toolbar) qui contient les différents boutons de l’éditeur.

Un fichier editor.css avec les styles nécessaires est généré pour que les modifications soient visibles dans l’éditeur lui-même, il est à renseigner dans l’activation de chaque éditeur. Voir exemple plus bas.

Pour activer un éditeur il faut inclure le partial de vue _toolbar juste au dessus du champ textarea en lui passant l’id de celui-ci et activer l’éditeur à l’aide des fonctions prévues par le plugin.

L’upload d’image est géré différemment des autres éléments qui se contentent d’utiliser les fonctions natives du plugin : il faut préciser au partial de vue _toolbar que l’on souhaite utiliser une image en lui passant une variable image à true et inclure en fin de vue le partial de vue contenant la modal Boostrap permettant l’upload d’images pour chaque éditeur.

Exemple :

<!-- toolbar with suitable buttons and dialogues -->
@include('admin/partials/_toolbar', ['id' => 'content-toolbar', 'image' => true])
<textarea id="content" class="form-control" required>
    {!! $page->content or null !!}
</textarea>

...


@section('modals')
    @include('partials/_toolbar-image-modal', ['id' => 'content-toolbar'])
@stop

Attention : Le form-model binding de Laravel Collective ne fonctionne pas avec cet outil, d’où la nécessité de recourir à un tag HTML traditionnel pour utiliser le même formulaire dans la création et l’édition.

// activate wysihtml editors
var editor = new wysihtml5.Editor(content, {
    toolbar: 'content-toolbar',
    stylesheets: '{{ asset('css/editor.css') }}',
    parserRules:  wysihtml5ParserRules,
});
// Insert image
$('#form-image-picker-content-toolbar').on('submit', function(event) {
    uploadImage('/admin/pages/upload-image', event, editor, $(this));
});

polenta's People

Contributors

redgluten avatar

Watchers

James Cloos avatar ismael joseph avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.