Se ho una pagina/post in Jekyll con intestazioni, è possibile generare automaticamente una tabella di contenuti/struttura per la navigazione? Qualcosa di simile alla questione principale di un articolo di Wikipedia.Come creare un sommario al post del blog di Jekyll?
risposta
Questo è il compito del parser di markup.
In caso di Markdown una delle estensioni di sintassi definisce Automatic generation of the table of contents:
* This will become a table of contents (this text will be scraped).
{:toc}
Suppongo che intendi un elenco di tutti gli elementi H1, H2 ecc nel contenuto stesso? Non penso che Jekyll abbia qualcosa di integrato per gestirlo. Sospetto che il modo più semplice sia quello di consentire a Javascript di generarlo per te una volta che la pagina è stata renderizzata, utilizzando qualcosa come this jQuery plugin o uno degli many other plugins/snippets disponibili.
è possibile utilizzare questo code prima del contenuto.
<link rel="stylesheet" href="http://yandex.st/highlightjs/6.2/styles/googlecode.min.css">
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://yandex.st/highlightjs/6.2/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script type="text/javascript">
$(document).ready(function(){
$("h2,h3,h4,h5,h6").each(function(i,item){
var tag = $(item).get(0).localName;
$(item).attr("id","wow"+i);
$("#category").append('<a class="new'+tag+'" href="#wow'+i+'">'+$(this).text()+'</a></br>');
$(".newh2").css("margin-left",0);
$(".newh3").css("margin-left",20);
$(".newh4").css("margin-left",40);
$(".newh5").css("margin-left",60);
$(".newh6").css("margin-left",80);
});
});
</script>
<div id="category"></div>
devo TOC per Jekyll blog che sembra simile a Wikipedia TOC
Così tutti i miei post Jekyll hanno una sezione del sommario. Può essere fatto semplicemente usando kramdown.
Usa questo codice all'interno del vostro post in cui si desidera che il TOC appaia
* Do not remove this line (it will not be displayed)
{:toc}
E utilizzare questa CSS per lo stile è come Wikipedia TOC
// Adding 'Contents' headline to the TOC
#markdown-toc::before {
content: "Contents";
font-weight: bold;
}
// Using numbers instead of bullets for listing
#markdown-toc ul {
list-style: decimal;
}
#markdown-toc {
border: 1px solid #aaa;
padding: 1.5em;
list-style: decimal;
display: inline-block;
}
Utilizzare colori appropriati che soddisfare il vostro blog.
Questo è tutto!
TOC può anche essere fatto con l'aiuto di jekyll-table-of-contents, se in ogni caso il metodo di cui sopra non funziona. Questo usa Jquery e un file js.
Ecco la guida dettagliata su come ho fatto: Jekyll TOC
Ho provato a fare qualche evidenziazione della sintassi ma posso farlo funzionare. Ho installato pygments con 'pip'. – Gilbert
- 1. post del blog Jekyll alle pagine non index.html
- 2. Jekyll multiple post types
- 3. Elenco di tutti i post del blog (con contenuto) con Jekyll
- 4. Esiste un'interfaccia utente di Jekyll in cui possiamo inserire post del blog senza farlo tramite codice?
- 5. Come installare un plugin jekyll per un blog octopress?
- 6. Come posso aggiungere una funzione di ricerca del sito a un blog di Jekyll?
- 7. Come posso modificare l'URL del post di un sito Web di Jekyll?
- 8. Jekyll Post Order
- 9. come incorporare il file github in un blog post di github post
- 10. Un'app Rails e un blog di Jekyll possono convivere insieme?
- 11. Pubblicazione di file markdown R come post di blog
- 12. Inserisci immagine locale in un post del blog con octopress
- 13. Creare un sommario da un file pdf
- 14. Come personalizzare l'URL di Jekyll?
- 15. Jekyll: posiziona il sommario del kramdown in un _include per la navigazione hash
- 16. Lazy load post sul blog
- 17. Rimozione di "/ jekyll/update" dagli URL di jekyll
- 18. Come posso avere più autori per un post in Jekyll?
- 19. "page build failed" quando si spinge un nuovo post sul blog su github
- 20. Blog basato su Jekyll Bootstrap - Scade le intestazioni?
- 21. Jekyll: controlla se il contenuto del post è vuoto
- 22. È possibile pianificare i post con Jekyll?
- 23. Jekyll manca post, pagina e predefinito
- 24. jekyll serve (localmente) senza creare
- 25. Come esportare un quaderno IPython in HTML per un post di un blog?
- 26. Come posso elencare i post della stessa categoria in Jekyll?
- 27. Limitare jekyll elenco di post a determinate categorie
- 28. E 'possibile impedire a Jekyll di generare una pagina per ogni post
- 29. Come alimentare un sommario del sito a Google Bot?
- 30. Jekyll: Qual è la differenza tra il bootstrap di Jekyll e Jekyll?
In realtà, non sembra di lavorare in Maruku, o non lo è più ... – jjmerelo
OK, funziona, ma solo se v'è un header H1 nel file markdown, in base a questo: http://webiva.lighthouseapp.com/projects/38599/tickets/5-maruku-table-of-contents-not-generating-without-extra-h1-tag – jjmerelo
Limitazione interessante, @jjmerelo. Non l'ho mai colpito Grazie per l'informazione. – manatwork