Gestione di più bozze facilmente in Jekyll
Nonostante sia solo un sito statico, possiamo utilizzare anche un plugin in Jekyll. Continuiamo la nostra discussione sulla creazione di bozze del post precedente. Come puoi vedere prima - nel post precedente - abbiamo creato le bozze e le abbiamo inserite in una cartella speciale chiamata _draft prima.
Quindi, dato che siamo pronti a pubblicarlo, li spostiamo nella cartella _posts
con il formato di denominazione appropriato .
Sembra facile vero? non dovrebbe esserci problemi se gestissi solo 1 o 2 bozze di post. Tuttavia, quando hai 5-10 post draft, cambiare il nome di ciascun file e specificare manualmente la data corretta può essere un problema. Diamo un'occhiata a come possiamo semplificare il flusso di lavoro con un plugin di Jekyll.
Iniziare
Prima di andare avanti, creiamo una nuova cartella chiamata _plugins ; questa cartella è necessaria poiché Jekyll cercherà ed eseguirà i plug-in all'interno della cartella . Abbiamo anche bisogno di creare un nuovo file denominato publisher.rb
in esso; tecnicamente, puoi liberamente nominare quel file con qualsiasi nome tu voglia.
Useremo un plugin di Jekyll creato da Jeffrey Sambells. Questo plugin si prenderà cura del problema durante la pubblicazione di un post da una bozza in Jekyll. Rinominerà il file correttamente, insieme alla data. E specificherà anche la data nella sezione Post Front Matter .
Quanto segue è il codice sorgente del plugin, disponibile da questa pagina Gist . Copia questo codice qui sotto e incollalo nel file editore.rb che abbiamo appena creato.
modulo Jekyll class PostPublisher <Generator false def replace (filepath, regexp, * args, & block) content = File.read (filepath) .gsub (regexp, * args, & block) File.open (filepath, 'wb') {| File | file.write (contenuto)} end def generate (sito) @files = Dir ["_ publish / *"] @ files.each_with_index {| f, i | now = DateTime.now.strftime ("% Y-% m-% d% H:% M:% S") sostituisci (f, / ^ data: non pubblicata / mi) {| corrispondenza | "date: \" "+ now +" \ ""} now = Date.today.strftime ("% Y-% m-% d") File.rename (f, "_posts / # {now} - # {File .basename (f)} ")} end end end
Se il tuo server Jekyll è attualmente in esecuzione, riavvialo perché il plugin funzioni.
Usando il plugin
Per utilizzare il plugin, è necessario creare una nuova cartella denominata _publish . Sposteremo le nostre bozze di post in questa cartella, una volta che saremo pronti a pubblicarle. Tuttavia, prima di farlo, imposta la date
nella parte anteriore della bozza del post in modo che unpublished
sia unpublished
, in questo modo
--- layout: post title: "Questo è il mio secondo post" data: non pubblicato ---
Ora sposta la bozza nella cartella _publish .
Come accennato, Jekyll sposta automaticamente la cartella su _posts e imposta la data del post, quindi pubblica il post per te.
Pensiero finale
Abbiamo visto che Jekyll è estensibile con un plugin. In questo post, ad esempio, ne abbiamo utilizzato uno per semplificare il processo di pubblicazione di una bozza. Puoi trovare altri plugin Jekyll in questa pagina: Plugin disponibili.
Ora che abbiamo imparato come configurare Jekyll e pubblicare una bozza di post. Nel prossimo post, ti mostreremo come pubblicare il blog di Jekyll su un server online tramite FTP. Rimanete sintonizzati!

Dieci temi multiuso per WordPress per designer versatili
A meno che non ti concentri su un tipo specifico di progettazione di siti Web, è quindi sensato investire in un tema WordPress multiuso . I temi multiuso offrono la flessibilità necessaria per essere pronti a svolgere qualsiasi incarico.I temi multiuso di WordPress presentati qui hanno tutto il necessario per indirizzare qualsiasi tipo di sito web o argomento .

Google Foto: 4 nuove funzionalità intelligenti che non pensavi avresti avuto bisogno
Se Google Foto è sempre stato il tuo spazio di archiviazione di backup preferito (lo spazio di archiviazione illimitato è difficile da dire di no), ti potrebbe piacere più che mai. Google sta introducendo alcune funzioni intelligenti nei suoi strumenti di archiviazione di foto, tutti parcheggiati nella scheda Assistente. 1