Copia locale del WordPress Codex?
A volte voglio sviluppare temi WordPress quando non ho una connessione internet. Ho bisogno del Function Reference e dei Template Tags per essere produttivo.
Ho cercato una copia scaricabile o SVN del Codex ma non sono riuscito a trovarla. Ho finito per provare a fare il mirror utilizzando wget
, ma i risultati sono stati irregolari (è troppo grande!).
Esiste un modo migliore?

La soluzione migliore è configurare una copia locale di MediaWiki. Questo è lo stesso software che gestisce Wikipedia, ma è anche l'applicazione che alimenta il Codex.
Una volta installato, puoi dire al Codex di esportare le pagine che desideri e importare i documenti XML nella tua installazione locale. Non è automatizzato, ma dovrebbe fornirti abbastanza informazioni per lavorare con riferimenti rapidi.
Ottieni MediaWiki
Tutta la documentazione per scaricare, installare e configurare MediaWiki è disponibile online.
Se riesci a eseguire WordPress in locale, dovresti essere in grado di eseguire anche MediaWiki in locale (hai bisogno sia di PHP che di MySQL per configurare tutto).
Esporta il Codex
Crea una lista delle pagine che vuoi esportare. Mi piacerebbe se ci fosse uno strumento automatizzato per esportare tutto, ma in assenza di ciò restiamo con il processo manuale.
Vai su http://codex.wordpress.org/Special:Export. Questa pagina ti permette di selezionare quali pagine e categorie vuoi esportare.
Supponiamo che tu voglia esportare solo la pagina Function Reference
. Dovresti inserire "Function_Reference" nella grande casella per i nomi delle pagine. Inserisci un nome di pagina per riga per esportare più pagine contemporaneamente.
Ma dato che questa singola pagina non è molto utile... esporta invece l'intera categoria Functions
. Inserisci "Functions" nella casella della categoria e clicca add. Il Codex elencherà automaticamente tutte le 964 pagine di funzioni per te. Poi aggiungi semplicemente una riga per "Function_Reference" così da ottenere anche l'indice.
Puoi vedere una lista di tutte le pagine disponibili su http://codex.wordpress.org/Special:AllPages. La lista è piuttosto estesa, quindi non la coprirò qui... ma aggiungi ogni pagina che vuoi esportare e clicca via.
Una volta cliccato "Export", il Codex genererà un file XML (piuttosto grande) contenente tutti i contenuti.
Importa il Codex
Ora torna alla tua installazione locale di MediaWiki. Puoi ora importare il documento XML e creare il tuo "clone" locale del WordPress Codex.
Le istruzioni dettagliate per l'importazione sono disponibili sul sito web di MediaWiki.

Ottima risposta! Ho appena iniziato a esaminare l'API di MediaWiki e non avevo nemmeno realizzato che il Codex avesse un'esportazione.

Alcune pagine ora sono state trasferite su developer.wordpress.org, il che le esclude dalla categoria Funzioni. Esportando la categoria Functions
risulteranno pagine mancanti (ad esempio get_permalink
non sarà incluso).
Stimo che manchi circa il 20%.

Utilizzo un metodo molto più veloce e semplice per creare una copia locale del codex senza installare un server locale e senza installare una copia di mediawiki, si chiama ScrapBook che è un'estensione per Firefox, che ti aiuta a salvare pagine web e gestire la raccolta. Le caratteristiche principali sono leggerezza, velocità, precisione e supporto multilingua.
Utilizzando la funzione Salva sito web (acquisizione approfondita) puoi impostare le directory che desideri salvare, che nel tuo caso sarebbero Function Reference
e Template Tags
Puoi anche organizzare le tue raccolte proprio come i segnalibri, modificare i file salvati ed evidenziare le parti chiave delle pagine e la cosa migliore è la ricerca full text integrata.

È davvero fantastico. C'è un modo per fornirgli un elenco di URL da acquisire per una visualizzazione successiva? E c'è un modo per dire "aggiorna di nuovo questo elenco di URL"?

È un modo leggero e ottimo per salvare rapidamente un grande gruppo di file. Speravo in qualcosa di autonomo, ma sto testando questa soluzione da quando ho aperto la ricompensa ed è il modo più semplice e veloce per ottenere una copia locale dei documenti rilevanti.


Sono lo sviluppatore di Dash. Aggiorno il docset di WordPress ogni volta che esce una nuova versione di WordPress.

sono l'unico a pensare che Zeal (o Dash) sia estremamente sottovalutato e che questa risposta dovrebbe essere quella accettata ora?

@Ejay la risposta accettata è quella scelta dall'OP, in base a ciò che ha funzionato per loro. :) È normale che diverse risposte offrano approcci differenti alla domanda.

Penso che la soluzione migliore sarebbe creare un bug report e chiedere alla fondazione WP di installare questa estensione http://www.mediawiki.org/wiki/Extension:PdfBook Se non altro, contrassegnarla per uso privato e poi fornire il PDF generato agli utenti.

Ho fatto questo per me stesso usando HTTrack (http://www.httrack.com/). Alla fine si è rivelato essere di qualche megabyte (non ricordo il numero esatto ora, ho perso la mia copia locale a causa di un guasto al disco rigido e non mi sono ancora preoccupato di ricostruirla), ma ha funzionato piuttosto bene.

:-( Cavolo, ci deve essere un modo migliore. Grazie comunque per la risposta. Speriamo ci sia qualcos'altro!

Puoi utilizzare l'API di MediaWiki. Esiste una documentazione completa su come creare un mirror di una wiki utilizzando l'API e altri metodi.

È possibile memorizzare in un set statico di HTML, o devo eseguire Apache/PHP (o qualunque siano i requisiti attuali di MediaWiki) sul dispositivo di destinazione? I dettagli di implementazione mancano di un semplice set di istruzioni, invece puntano ad altre soluzioni in vari stadi di completezza. http://www.sciencemedianetwork.org/wiki/Mediawiki_mirror#Implementation_details

Se lo stai utilizzando per sviluppare WordPress localmente, allora stai già eseguendo Apache/PHP e soddisfi i requisiti per eseguire MediaWiki localmente.

@EAMann in realtà conosco alcune persone che usano IIS ma capisco il tuo punto. Ripeto che le istruzioni collegate mancano di dettagli. Non c'è una "ricetta" creata per eseguire effettivamente il backup.

So che questo è un thread vecchio ma continua a ricevere visite, quindi aggiungerò questa risposta
devdocs.io contiene tutte le API di WordPress di cui hai bisogno, anche se non è strutturato come la versione del Codex può comunque essere utile in alcuni casi.
NOTA: Non contiene solo la documentazione di WordPress ma anche di molti altri linguaggi popolari

Ottima idea,
Ci sono diversi modi per renderlo "locale".
- Potresti fare un wget ricorsivo. Ci vuole molto tempo. Come hai già menzionato.
- Potresti usare uno screen scraper: http://scraperwiki.com
- Potresti scrivere uno script che lo salva localmente ogni volta che ti connetti a internet.
- Potresti sporcarti le mani e ogni volta che visiti il codex salvare la pagina in una cartella.
In breve, al momento non esiste un repository per questo. Anche se crearne uno sarebbe interessante.
Forse lo scriverò io...
Risponderò più tardi stasera. Potrei effettivamente completarlo a breve.
Lo metterò su GitHub.
Aggiornamento: La soluzione MediaWiki è il modo corretto per farlo.
