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.
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)
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"
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.
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.
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.
TODO - do _config.yml přidáme řadek
mediaStorage: nazev_media_storage #obrazky a pdf jsou na https://a.pirati.cz/nazev_media_storage/
Ž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.