2013-05-05 8 views
6

DocPad è descritto come paragonabile ad altri generatori di siti statici, ma è anche descritto come "non limitato alla generazione di siti statici".Contenuto statico o dinamico nel sistema docpad: come creare contenuti dinamici?

Ho consultato il sito Web di DocPad e altra documentazione e non sono ancora riuscito a trovare qualcosa che sembra spiegare come incorporare contenuti dinamici e quali tipi di limitazioni possono essere coinvolti?

Come un principiante imparziale, mi chiedo se qualcuno può aiutarmi a capire meglio la metodologia con cui i contenuti dinamici verrebbero incorporati in DocPad ...? per esempio. AJAX e script dinamici lato server per fare cose come caricare dinamicamente le foto da Flickr in una pagina web quando si fa clic su un determinato tag ...

Grazie.

risposta

12

Quindi c'è un paio di modi DocPad facilita contenuti dinamici:

  1. Via del regenerateEveryconfiguration option. Questo rigenererà il tuo sito ogni tanto specificato. Questo ottimo se combinato con plugin come feedr per estrarre dati da fonti di feed remote (come la tua ultima attività social), così come repocloner che clona e mantiene aggiornato un repository git all'interno del tuo progetto. Il vantaggio di questa opzione è che è davvero facile da fare e fornisce l'illusione di un sito web dinamico. Ad esempio il Benjamin Lupton Website applica questo metodo per mantenere aggiornate le sue statistiche sulla home page, così come i dati social nella sidebar. Ogni ora si rigenera con le ultime informazioni. Rendendolo veloce, e anche illusivamente dinamico.

  2. Via dynamicmeta-data property. Se impostato su true indica al server DocPad che dovremmo eseguire nuovamente il rendering di quel documento su ogni richiesta, anziché solo una volta. Funziona perfettamente all'interno di Kitchensink Skeleton per search pages e misc forms. In questo modo è più simile allo sviluppo di PHP.

  3. Via serverExtendevent. Questo evento ti consente di collegare ed estendere il server DocPad, consentendoti di aggiungere ulteriore logica lato server, gestione, ecc. Casi d'uso comuni sono l'aggiunta di routing aggiuntivo al server per gestire gli alias di route, aggiungendo l'elaborazione dei moduli come un contatto modulo o per aggiungere un'interfaccia RESTULful per un'applicazione Backbone.js. Lo DocPad Website lo utilizza per add extra routing and a regenerate post-receive hook for the documentation. Lo NodeChat Skeleton lo utilizza per add the Socket.io server-side logic.

  4. Via API. Questa è la modalità più coinvolta, ma può essere piuttosto gratificante se si desidera che DocPad sia una piccola parte di un'applicazione node.js esistente. Con questo, puoi creare un'istanza di DocPad nel tuo codice e interagire con esso. L'attività grossa grunt-docs utilizza questo :)

Problemi correlati