Posso rendere tutti i collegamenti in minuscolo utilizzando MediaWiki e utilizzare il trattino invece del carattere di sottolineatura come separatore di parole?

StackOverflow https://stackoverflow.com/questions/2478327

Domanda

Posso rendere i collegamenti in MediaWiki minuscoli e utilizzare il trattino invece del carattere di sottolineatura come separatore di parole?

Una specie di WordPress o altri wiki CMS Fare.

È stato utile?

Soluzione

E 'possibile fare uso MediaWiki trattini al posto di sottolineatura per indicare gli spazi bianchi. wikiHow lo fa. Ma richiede una serie di modifiche al codice sorgente, che di solito non è consigliato. Inoltre, non v'è alcuna garanzia di essere senza bug.

Altri suggerimenti

Bene, c'è un modo per farlo all'interno di spazio dei nomi principale almeno così le pagine modificate dall'utente hanno URL tutti in minuscolo/separati da trattini.

Inizi imponendo manualmente che le tue pagine siano tutte minuscole e separate da trattini.Il problema iniziale con questo è che i tuoi collegamenti interni ora devono contenere dei trattini, il che elimina lo stile standard del linguaggio semplice dei collegamenti interni e li rende quasi inutilizzabili:

For examples of this see [[making-mediawiki-links-lowercase|making mediawiki links lowercase]].

Creare un nuovo wikilink non significa più aggiungere una coppia di doppie parentesi quadre;l'intero testo del collegamento deve essere riscritto (e facoltativamente rinominato con una pipe per essere leggibile).

Ma c'è un modo per riscrivere solo l'href sui collegamenti.Innanzitutto, apporta due modifiche a LocalSettings.php:

$wgCapitalLinks = False; # like mentioned above: make MW not capitalize the page titles
$wgHooks['LinkEnd'][] = "seoUrls"; # add a hook to rewrite the links
function seoUrls($dummy, Title $target, array $options, &$html, array &$attribs, &$ret) {
    $attribs = str_replace("_", "-", $attribs);
    return True;
}

Questo riscrive l'href dei collegamenti interni per utilizzare i trattini e non i caratteri di sottolineatura lasciando intatto il resto dell'ancoraggio.

Quindi utilizza CSS per nascondere (o modificare il file modello per rimuovere) il titolo normale su quelle pagine con contenuti utente.Il CSS sarà qualcosa del tipo:

.ns-0.action-view #firstHeading, /* main */
.ns-14.action-view #firstHeading /* categories */
{
    display: none
}

Voi Fare vuoi lasciare il titolo per le pagine senza contenuto definito dall'utente, come le visualizzazioni di modifica e le pagine speciali.Ho scoperto che solo gli spazi dei nomi 0 (principale) e 14 (categorie) devono essere nascosti.

Infine, invece del titolo fornito da Mediawiki, dai un titolo alla pagina aggiungendo un h1 nella parte superiore del contenuto della pagina stessa.

Probabilmente vorrai riscrivere anche tutti gli URL con caratteri di sottolineatura in trattini:

RewriteRule ^([^_]*)_([^_]*_.*) $1-$2 [N]
RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301]

I problemi

  • Il rilevamento inesistente delle pagine non è del tutto accurato, perché le pagine che sta cercando contengono spazi, non trattini.Tuttavia, finché avrai eliminato tutte le vecchie pagine che contengono spazi nel titolo, questo non sarà un problema.
  • Poiché la lettera iniziale ora fa distinzione tra maiuscole e minuscole, i collegamenti interni richiedono una ridenominazione quando sono la prima parola della frase.
  • Il sommario e i collegamenti alla sezione di modifica in linea agiranno diversamente;ora vengono attivati ​​su ogni pagina a causa dell'h1.

Vantaggi

  • Puoi personalizzare i titoli come preferisci.Mi piace utilizzare le pagine delle categorie per avere contenuti, ma non mi piace il titolo "Categoria: Blah".
  • Puoi anche fare in modo che il titolo della pagina utilizzi caratteri mediawiki illegali o non ASCII senza rovinare l'URL.

Sembra che è possibile regolare l'impostazione con questo valore di configurazione caso di collegamento . Io non sono riuscito a trovare nulla per quanto riguarda il separatore di parola. Buona fortuna.

Per rendere il nome di una pagina in minuscolo, utilizzare: Modello: minuscolo.Aggiungere {{Lowercase}} a qualsiasi pagina per modificare la modalità di visualizzazione.

I collegamenti possono essere comunque utilizzati in minuscolo: la prima lettera di un collegamento può essere maiuscola o minuscola: collegherà sempre alla pagina corretta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top