2013-03-04 15 views
5

C'è un modo per includere tag css personalizzati in un sito jekyll mentre si utilizza markdown per i file di ingresso; per esempio, quando voglio evidenziare un certo paragrafo?Jekyll e css personalizzato

+1

Puoi approfondire di più esattamente ciò che desideri? Sia ScottHelm che @berkes hanno fornito soluzioni molto valide, ma è difficile consigliarne uno particolare a meno che non si sappia di più su ciò che si sta tentando di fare. – jbranchaud

+1

@Peterb hai visto questo? http://stackoverflow.com/questions/27501185/how-to-add-multiple-classes-to-markdown-using-jekyll - testato e lavorato con css personalizzato "' .float-right' "su un'immagine aggiunta al post con md: '{: .float-right}! [] (/ path/to/img)' – Fred

risposta

0

dovresti essere in grado di inserire tag html nel tuo documento markdown, e dovrebbe analizzarli senza problemi. ad esempio:

#This 

is a paragraph <span style="background-color:yellow">with highlighting</span> 
+0

@rorra Perché dovresti approvare la modifica di questo post? È chiaramente inteso come un commento, ma non è così. – Daedalus

14

Markdown e YAML FrontMatter hanno questo integrato. Ma puoi farlo da solo.

Supponiamo che tu abbia foo.css da includere in determinati post.

In _posts/2013-02-03-higligting-foo.markdown:

--- 
css: foo 
title: "Drupal Imagecache security vulnarability with DDOS attack explained" 
tags: [drupal, imagecache, security, ddos] 
--- 

Poi, in _layouts/default.html:

{% if post && post.css %} 
    <link rel='stylesheet' type='text/css' href='public/assets/{{ post.css }}.css' /> 
{% endif %} 

Se un post è mostrata, e il post è una variabile definita, css, quindi utilizzare tale da includere il file css con il nome. Si noti che questo non verifica se il nome del file è corretto, se il file css esiste e così via.

+1

post dovrebbe essere modificato in pagina e {% post.css%} dovrebbe essere {{page.css}}. – duleorlovic

+0

@duleorlovic: È un cambiamento recente o ho semplicemente postato qualcosa di sbagliato? Hai un link ad alcuni documenti. su questo? – berkes

+0

{% ...%} è per cose che non si risolvono in testo (per esempio se/per/a meno che) ----- {{...}} è per l'emissione di testo – jgmalcolm

4

Se vuoi dire si può dare un particolare paragrafo del documento Markdown una classe specifica, è tecnicamente possibile, semplicemente digitando il tag di paragrafo il modo desiderato:

My **first** paragraph 

<p class="mySpecialClass">My **second** paragraph</p> 

My **third** paragraph 

e Markdown passerà il vostro p passare attraverso il codice HTML risultante.

Tuttavia, Markdown rinuncia all'analisi del contenuto all'interno dei tag digitati dall'utente, pertanto il contenuto del paragrafo non verrà considerato come Markdown — ad es. la parola **second** in quel paragrafo non verrà visualizzata in grassetto.

Sono passato a Textile per i post di Jekyll a causa di questo comportamento.

Buona fortuna!

+0

Il motore di kramdown offre la possibilità di incorporare il markdown nei tag HTML. Fai solo 'parse_block_html: true' in config.yml o in prima pagina – jasonszhao

+0

@jasonszhao funziona per Github Pages? Sarebbe fantastico. –

+0

[kramdown è supportato da Github Pages] (https://help.github.com/articles/migrating-your-pages-site-from-maruku/).Tuttavia, carico solo la mia directory compilata e non sono completamente sicuro che quell'opzione funzioni. – jasonszhao