Ero sivun ”Käyttäjä:Erkkimon/ohjeita” versioiden välillä

ApoWikistä
p (Erkkimon siirsi sivun Käyttäjä:Tom Himanen/ohjeita uudelle nimelle Käyttäjä:Erkkimon/ohjeita: Siirretty automaattisesti tunnukselta ”Tom Himanen” tunnukselle ”Erkkimon”)
 
(Yhtä välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 37: Rivi 37:


Hyvä ja toimiva ohje löytyy [http://www.mediawiki.org/w/index.php?title=Manual:Interface/Sidebar&oldid=398382#Add_a_banner_to_the_sidebar_.28PHP.29 täältä].
Hyvä ja toimiva ohje löytyy [http://www.mediawiki.org/w/index.php?title=Manual:Interface/Sidebar&oldid=398382#Add_a_banner_to_the_sidebar_.28PHP.29 täältä].
== Suosittele-namiskan (Facebook) lisääminen artikkelin oikeaan yläkulmaan ==
Homma on hyvin simppeli. Jos haluat vain namiskan esim. etusivulle (jengi voi suositella vain kyseistä sivua), voit generoida koodin [http://developers.facebook.com/docs/reference/plugins/like/ täällä] ja tunkea koodin mihin lystäät. Vaikkapa etusivun lähdekoodiin htmlets-ekstensiolla.
Jos taas haluat jokaiselle sivulle oman namiskansa siten, että namiskalla suositellaan aina auki olevaa sivua (namiska siis näkyy joka sivulla ApoWikin tyyliin), tarvitaan PHP:tä. Homma menee niin, että seuraava koodipätkä liitetään teematiedoston (esim. skins/Vector.php) alkupuolelle:
<?php $url = "http" . ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>
Yllä siis selvitetään sen sivun osoite, jolla nappula sattuu näkymään, ja tungetaan se muuttujaan $url. Seuraava koodi näyttää kyseisen nappulan, eli se liitetään mihin nappula sitten halutaankaan (skins/Vector.php).
<iframe align="right" spacing="4" src="http://www.facebook.com/plugins/like.php?locale=fi_FI&app_id=234649153215753&amp;href=<?php echo urlencode($url); ?>&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=20&amp;amp;show_faces=false&amp;amp;action=recommend&amp;amp;colorscheme=dark&amp;amp;font=verdana&amp;amp;height=21"
scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true"></iframe>
ApoWikissä koodi siis näyttää seuraavanlaiselta, eli jos haluat apinoida ApoWikiä, muuta firstHeading -kommenttitägien (<tt><nowiki><!-- firstHeading --></nowiki></tt>) väli seuraavanlaiseksi:
<nowiki><!-- firstHeading --></nowiki>
<?php $url = "http" . ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>
&lt;h1 id="firstHeading" class="firstHeading"><?php $this->html( 'title' ) ?>&nbsp;<iframe align="right" spacing="4" src="http://www.facebook.com/plugins/like.php?locale=fi_FI&app_id=234649153215753&amp;href=<?php echo urlencode($url); ?>&amp;amp;send=false&amp;amp;layout=button_count&amp;amp;width=20&amp;amp;show_faces=false&amp;amp;action=recommend&amp;amp;colorscheme=dark&amp;amp;font=verdana&amp;amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true">&lt;/iframe>&lt;/h1>
<nowiki><!-- /firstHeading --></nowiki>

Nykyinen versio 9. joulukuuta 2014 kello 00.08

Tämä sivu on tehty ensisijaisesti hyödyksi itselleni, mutta onhan tietysti ihan kivaa, jos näistä ohjeista on hyötyä muillekin. Tuota sekundäärifunktiota edistääkseni olen yrittänyt kirjoittaa jokseenkin selkeää tekstiä. Ohjeita en ihan kauheasti testaa, sillä kirjoitan useimmiten toimivan ratkaisun itselleni muistiin, ja mahdollinen testaus tapahtuu silloin, kun seuraavan kerran satun ehkä tarvitsemaan ohjetta. Niinpä kannattaa raportoida virheestä.

Lyhyt urli muotoa domain.com/artikkelin_nimi[muokkaa]

Olen todennut, että on fiksuinta toteuttaa lyhyet urlit niin, että Apache käsittelee olemattomiin tiedostoihin viittaavat urlit wiki-artsujen otsikoina. Etuna on se, että esimerkiksi wikin domainin alla olevien tiedostojen imppaaminen ja impattavaksi asettaminen ei mene monimutkaisesti. Lisäksi tämä metodi ei ole muiden metodien tapaan aiheuttanut ärsyttäviä bugeja ja haamuartikkeleita wikiin jne.

Homma alkaa poistamalla risuhäkkyrät $wgArticlePath -muuttujan edestä LocalSettings.php:ssa ja muuttamalla niiden arvot allaolevaa vastaaviksi. Jos muuttujaa ei ole, lisää ne – mieluiten heti $wgScriptPath -muuttujan jälkeen.

$wgArticlePath      = "/$1";

Lisää LocalSettings.php -tiedostoon seuraava rivi, jotta uloskirjautuminen yms. toimisi kivasti.

$wgUsePathInfo     = false;

Luo www-hakemistosi juureen tiedosto nimeltään .htaccess, ja tiedoston oikea sijainti on todennäköisesti /var/www/.htaccess. Jos wikisi on www-hakemistosi hakemistossa mediawiki, korvaat luonnollisesti hakemiston wiki hakemistolla mediawiki.

Options -Indexes
 
RewriteEngine On 
RewriteRule ^/*$ /wiki/index.php [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wiki/index.php?title=$1 [L,QSA]

GlobalFunctions.php -ongelman ratkaisu[muokkaa]

Usein wiki mussuttaa softapäivityksen jälkeen jotain seuraavantapaista: "Warning: mkdir() [function.mkdir]: Permission denied in /path/to/wiki/ includes/GlobalFunctions.php on line 2012" ja/tai "PHP Warning: imagejpeg() [<a href='function.imagejpeg'>function.imagejpeg</a>]: Unable to open '/path/to/wiki/images/thumb/jotain/jotain/kuva.jpg' for writing: Permission denied in /path/to/wiki/includes/media/jtoain on line 236"

Tällöin wiki ei onnistu luomaan uusia hakemistoja. Ongelma ratkeaa useimmiten chmodaamalla wikin images-hakemiston kuville 755-oikeudet rekursiivisesti ja chownaamalla kyseisen hakemiston rekursiivisesti apache-käyttäjälle eli käyttäjälle, joka ajaa httpd:tä. Kyseinen käyttäjä on useimmiten Ubuntuissa www-data, ja useissa muissa distroissa apache. Homma siis tapahtuu seuraavasti, roottina tietysti:

chmod -R 755 /path/to/wiki && chown -R www-data /path/to/wiki

Jos tämä ei auta, kannattaa kokeilla seuraavaa wikin images-hakemistossa:

find . -type d -exec chmod 777 {} \;
find . -type f -exec chmod 666 {} \;

Jos mikään muu ei auta, kannattaa kokeilla asettaa seuraavaa LocalSettings.php-tiedostoon:

$wgHashedUploadDirectory = false;

Bännerin lisääminen sivupalkkiin[muokkaa]

Hyvä ja toimiva ohje löytyy täältä.

Suosittele-namiskan (Facebook) lisääminen artikkelin oikeaan yläkulmaan[muokkaa]

Homma on hyvin simppeli. Jos haluat vain namiskan esim. etusivulle (jengi voi suositella vain kyseistä sivua), voit generoida koodin täällä ja tunkea koodin mihin lystäät. Vaikkapa etusivun lähdekoodiin htmlets-ekstensiolla.

Jos taas haluat jokaiselle sivulle oman namiskansa siten, että namiskalla suositellaan aina auki olevaa sivua (namiska siis näkyy joka sivulla ApoWikin tyyliin), tarvitaan PHP:tä. Homma menee niin, että seuraava koodipätkä liitetään teematiedoston (esim. skins/Vector.php) alkupuolelle:

<?php $url = "http" . ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>

Yllä siis selvitetään sen sivun osoite, jolla nappula sattuu näkymään, ja tungetaan se muuttujaan $url. Seuraava koodi näyttää kyseisen nappulan, eli se liitetään mihin nappula sitten halutaankaan (skins/Vector.php).

<iframe align="right" spacing="4" src="http://www.facebook.com/plugins/like.php?locale=fi_FI&app_id=234649153215753&href=<?php echo urlencode($url); ?>&amp;send=false&amp;layout=button_count&amp;width=20&amp;show_faces=false&amp;action=recommend&amp;colorscheme=dark&amp;font=verdana&amp;height=21" 
scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true"></iframe>

ApoWikissä koodi siis näyttää seuraavanlaiselta, eli jos haluat apinoida ApoWikiä, muuta firstHeading -kommenttitägien (<!-- firstHeading -->) väli seuraavanlaiseksi:

<!-- firstHeading -->
<?php $url = "http" . ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; ?>
<h1 id="firstHeading" class="firstHeading"><?php $this->html( 'title' ) ?> <iframe align="right" spacing="4" src="http://www.facebook.com/plugins/like.php?locale=fi_FI&app_id=234649153215753&href=<?php echo urlencode($url); ?>&amp;send=false&amp;layout=button_count&amp;width=20&amp;show_faces=false&amp;action=recommend&amp;colorscheme=dark&amp;font=verdana&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true"></iframe></h1>
<!-- /firstHeading -->