2013-03-04 9 views
5

Czy istnieje sposób dołączania niestandardowych znaczników css w witrynie jekyll podczas korzystania ze znacznika dla plików wejściowych; na przykład, kiedy chcę podświetlić określony akapit?Jekyll i niestandardowe css

+1

Czy możesz dokładniej określić, czego chcesz? Zarówno ScottHelm, jak i @berkes dostarczyły bardzo ważne rozwiązania, ale trudno jest polecić konkretną, chyba że wiemy więcej o tym, co próbujesz zrobić. – jbranchaud

+1

@Peterb widziałeś to? http://stackoverflow.com/questions/27501185/how-to-add-multiple-classes-to-markdown-using-jekyll - przetestował i pracował z niestandardowym css "' .float-right' "na obrazie dodanym do posta z md: '{: .float-right}! [] (/ path/to/img)' – Fred

Odpowiedz

0

powinieneś być w stanie umieścić znaczniki html w swoim dokumencie przecen i nie powinno się z nich parsować. na przykład:

#This 

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

@rorra Dlaczego akceptujesz zmianę tego postu? Jest to oczywiście komentarz, ale tak nie jest. – Daedalus

14

Markdown ani YAML FrontMatter mają to wbudowane. Ale możesz zrobić to sam.

Załóżmy, że masz foo.css, które chcesz uwzględnić w niektórych wpisach.

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

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

Następnie w _layouts/default.html:

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

Jeśli post jest pokazane, a post zmienna zdefiniowana, css, następnie używać, aby dołączyć plik css z nazwą. Zauważ, że to nie oznacza, że ​​nazwa pliku jest poprawna, czy plik css istnieje i tak dalej.

+1

wpis powinien zostać zmieniony na stronę, a {% post.css%} powinien być {{page.css}}. – duleorlovic

+0

@duleorlovic: Czy to była ostatnia zmiana, czy też po prostu napisałem coś nie tak? Masz link do jakiegoś dokumentu. na to? – berkes

+0

{% ...%} dotyczy rzeczy, które nie są zgodne z tekstem (tj. Jeśli/za/jeśli nie) ----- {{...}} jest do emisji tekstu – jgmalcolm

4

Jeśli masz na myśli można dać konkretny paragraf w dokumencie Markdown określonej klasy, to technicznie może, poprzez wpisanie znacznika akapitu, jak chcesz to:

My **first** paragraph 

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

My **third** paragraph 

i Markdown będzie zdać p taguj do wynikowego kodu HTML.

Jednak Markdown rezygnuje z parsowania zawartości w tagach, które sam wpisujesz, więc treść Twojego akapitu nie będzie traktowana jako Markdown — np. słowo **second** w tym akapicie nie będzie wyświetlane jako pogrubione.

Przełączyłem się na tekstylny dla postów Jekyll z powodu tego zachowania.

Powodzenia!

+0

Mechanizm kramdown oferuje opcję osadzania przecen w tagach HTML. Po prostu wykonaj 'parse_block_html: true' w config.yml lub przedniej sprawie – jasonszhao

+0

@jasonszhao działa to dla Github Pages? Byłoby świetnie. –

+0

[kramdown jest obsługiwany przez strony Github] (https://help.github.com/articles/migrating-your-pages-site-from-maruku/).Przesyłam tylko mój skompilowany katalog i nie jestem całkowicie pewien, czy ta opcja działa. – jasonszhao