Obsah
Převod obrázků na Mrak
Mít obrázky v gitu není ze spoustu důvodů praktické. Samotný repozitář je velký a je problém ho stahovat, build jekyllu trvá dlouho a přechod na jiný buildovaci systém by byl náročný. I proto vzikla asset-server. Pojdme si povědět jak na něj převést weby.
Příprava
Najděte si kdo všechno dělá na tom webu a kontakty na ně napište jim co chystáte. Updatujte thema alespoň na 7.8.0 (ale raději nejvysší aktuální verzi)
Uklid - github
Na to aby jsme na konci poznali, že jsme převodem nic nerozbyli budeme potřebovat nejdříve uklidit.
Jako první se podívame jestil někdo neodkazuje na github namísto /asstest/img a podobě pomocí grepu.
grep github -r -I --exclude-dir={_site,_people,vendor,.git,admin} --exclude={Gemfile,README.md,_config.yml,package.json}
Je třeba si dát i pozor na to že ne vždy se odkazuje na stené repo ve kterém jsem a některé odkazy na github mají důvod. Nicméně spousta z toho jde poloautomatizovaně opravit, nicméně vždy kontrolujte že nenaděláte více škody než užitku. Nezapomeňte si ověřit že dané soubory v assets existují.
Př.
URL=https://github.com/pirati-web/praha.pirati.cz/raw/gh-pages/assets/ grep $URL . -r -I --exclude-dir={_site,_people,vendor,.git,admin} --exclude {Gemfile,README.md,_config.yml,package.json} grep $URL . -r -I -l --exclude-dir={_site,_people,vendor,.git,admin} --exclude {Gemfile,README.md,_config.yml,package.json} > files.tmp for FILE in `cat files.tmp`; do sed -i "s,$URL,/assets/," $FILE ; done
git diff git commit -a -m "Oprava odkazu"
Uklid htmlproofer
používat htmlproofer. Jenže spousta webu má různj broken linky v sobě už teď je teda na začátku potřeba uklidit.
docker-compose up docker run -v $PWD/_site:/mounted-site 18fgsa/html-proofer /mounted-site --internal-domains "/praha.pirati.cz/,/0.0.0.0:4000/" --disable-external --assume-extension docker run -v $PWD/_site:/mounted-site 18fgsa/html-proofer /mounted-site --url-ignore "/github.com/" --internal-domains "/praha.pirati.cz/,/0.0.0.0:4000/" --timeframe 1w --external-only --assume-extension
Jsou různé druhy chyb a je vhodné si to podle nich rozdělit a pro každou z nich si připravi automatizovatelný poustup.
- Odkaz jde na stránky třetích stran které už dávno nexistují: Tam lze jít několika směry. Buť je uplně ignoravat nebo prozkoumat a zjistit jestli nemají náhradu jinde nebo to hodit na osobu starající se o obsah webu
- Odkaz vede na náš obrázek nebo url: V tom případě je dobré najít v jakém commitu byl ten odkaz přidán a podívat se na git v tom commitu a podle toho opravit.
- Problém není na samotné strance s daty a v nějakém _include nebo _layout. V tom případe to opravit nejdříve lokálně a pak poslat pull request to thema.
Není potřeba dosáhnout nulového počtu chyb, ale je potřeba znát všechny chyby a vědět proč je ignorujeme.
Kopírování souborů
V tuto chvíli by měl být ve složce assets všechny fotky a media které web používa, ale stále může tam být celé složky věcí, které web nepoužívá. Proto je dobré podívat se na obsah těch složek a porovnat s webem. Par fotek navíc není problém, problém je giga navíc a stare. Obsah css ani js se nekopíruje.
Přepnutí
TODO - do _config.yml přidáme řadek
mediaStorage: nazev_media_storage #obrazky a pdf jsou na https://a.pirati.cz/nazev_media_storage/
Testování
Že všechno funguje ověříme tak, že soubory z assets dočásně smažeme a pustíme htmlproofer steně jako nahoře. Pak změnu vrátime pomocí gitu. Soubory v gitu zůstanou dokud se neověří, že jej nepoužívá žádný jiný web.