2017-05-30 2 views
0

Je joue avec Jekyll depuis quelques jours, j'ai un site de travail, mais sur beaucoup de pages je veux utiliser des templates/snippits/shortcuts pour le rendre facile à re -utilise un contenu souvent typé.Jekyll templates/snippits/shortcuts

Dans MediaWiki, c'est ce que j'aurais fait;

This is a test {{ iconSmileFace }} 

{{ iconSmileFace }} traduit évidemment quelque chose comme <img src = "resources/images/smile.png" />

J'ai vu que Jekyll a comprend, pour que je puisse faire {{% include iconSmileFace.html %}} mais cette syntaxe semble un peu bavard, et peut-être pas tout à fait la Jekyll façon de faire des choses. Y a-t-il un autre meilleur moyen?

Répondre

1

Je voudrais créer un extrait pour contenir toutes mes icônes si elles sont des images ou des svgs ou des icônes de police:

{% case include.icon %} 
{% when 'smiley-face' %} 
    Smiley face 
{% when 'heart' %} 
    Heart 
{% when 'close' %} 
    X 
{% when 'next' %} 
    > 
{% endcase %} 

comprennent alors où vous avez besoin {% include icon.html icon="smiley-face" %}

+0

C'est le plus proche de la solution que j'ai utilisée. Je suis allé avec '{% include iconSmile.htm%}' comme syntaxe, car il est plus court à taper à chaque fois. – xconspirisist

+1

J'ai fait une légère erreur, comme le contexte est jekyll il aurait été '{% case include.icon%}' – Buts

+0

@xconspirisist Je pense que c'est bien d'avoir votre syntaxe, je ne suis pas fan d'avoir un fichier pour chaque icône cependant. – Buts

0

Une bonne idée serait de définir un liquid tag.

Créez le répertoire _plugins et un fichier appelé smile.rb avec ce contenu:

module Jekyll 
    class RenderSmileTag < Liquid::Tag 

    def render(context) 
     '<img src = "resources/images/smile.png" />' 
    end 
    end 
end 

Liquid::Template.register_tag('smile', Jekyll::RenderSmileTag) 

Alors chaque fois que vous voulez rendre l'image il suffit d'utiliser: {% smile %} et généreront <img src="resources/images/smile.png" />

+0

Je pense que cette solution est sur le dessus - ayant à droite beaucoup de code Ruby boilerplate pour chaque instance ne va pas fonctionner pour moi. – xconspirisist

0

Si votre intention est pour sortir les balises d'image avec le raccourci, il y a un autre moyen avec un plugin pris en charge par GitHub Pages:

(bien que je ne l'ai pas testé myse lf)

Depuis le plugin jemoji « s documentation, vous pouvez servir sur mesure emojis en pointant une source personnalisée dans votre _config.yml:

emoji 
    src: "/resources/images" 

la référence Puis le emoji dans votre document démarquage:

It's a beautiful day! :smile: 
+0

Ceci est une solution élégante, mais malheureusement, je veux faire plus que juste des sourires. – xconspirisist