 Ym rhaid o ddechrau, mae wedi cyhoedd o cacin html yn pwysig ar y CLA-apsylhydd i Ambar. A gwrthom dyw gwybod, mae'n rhaid i gynnwys i gharu rhan o'r troi yn lythydd ac rhan o'r troi yn ddegi chi'n rhan o'r troi ar yr oedlau'r troi. Mae wedi gweld gweld gweld gweld gweld gweld gweld gweld gweld coesiaid o'r troi o'r troi wrth ei hunach llawer. Ond yna'r eu ddwych yn cael ei ddwych o'r mwyafio yn gyfostiadwch cyfnodd, gyda'r ddwych i bethau o'r iawn. Felly, o'r oed, mae'n cael ei ddwych yn cael ei ddwych. Rydym eich ddwy i'n gweithio. mae'n gweithio yna. Felly, mae'n ddwych o'r ddwy. Rydyn ni. Rydyn ni'n gweithio. Rydyn ni'n gweithio'r adon yma'r cyfnodd yma'r cyfnodd. ac mae ceisio y tryd am hwn o bobliau fydd ymddian yn unigiadol o'n gŷl o'r mwyddai siŵr ar gyfer eu perrydd ymddian. Mae'r cyfroedd yr edrych ymddian o'r ddiweddol. Os mae'n ganddodestill fel y cyfroedd o'r gwybr i'r gwestiwn. Ym gyfroedd o Facebook, IP ID, gyda chi'n gweithio welan o'r ddefnyddio. Yn... Yn ystod ydi'r ffordd y yn ymwysgol, y social media tag yw add-on. A ydych chi ddangos eich ysgol maen nhw yw metodag i gael i'r cyflwyno iddyn nhw'n gwybod i'r cyflwyno mellydag mellydag i'r cyflwyno. A yna'r gwaith. Rwy'n gweld arnyn nhw'n gweithio agau'r tag. Mae gwedadol. Rwy'n gweld arnyn nhw'n gweld arnyn nhw. Eich gweld arnyn nhw. Onig, mae fyddwch oschwpwch ymweld. Felly, fyddwch ymlaenol y caspm a phanthym. Mae ffyrwyd ymlaenol efo fanthym sefydled yn llog maen i liegro, ac yna'n gofod. Ond maen nhw aratwch ein caspm sy'n gofod ddwy o phanthym yn fawr. Mae'r ymlaenol efo, mae'r ddweud pwynt a'r amdd weirdi. One of them is you can actually quickly grab stuff from the CLI there so you can run it on the command line and you can just pull in information, so that's cool. So then I wrote the CASPER script which basically just takes an array of URLs and just walks through them and takes a snapshot and saves them onto a disk. Great, so now I've got static HTML files. So then I thought well it'd be quite good to have a site map for my site, that's good. So I wrote a service in Node which would basically query my database and then push that into the site map so that I didn't have to do that myself. The other thing it's doing is it's taking the updated attribute from the model that we've saved and putting it into the last mod in the site map so we know when it was last modified. And then there's some other stuff down here so this method here update just means that I can throw it a record from the database and it will just search through the site map and see if it needs to be added or if it just needs to be updated with the last mod. And then just a little helper function at the end which converts that into an array of objects which is kind of nice so I can use that in my app a bit easier. How do I go into the next slide once I've gone this big? I have no idea. And then I wrote a crawler because the thing I wanted to do was I wanted to be able to call the CASPER script from within my server so that I didn't have to run it every day on my own or whatever. I could just all set up a cron. I wanted it to run when it was needed so I wasn't keep creating new static HTML files. So basically this one, this is just a basic cron job which I'll set up a set interval. And as long as the cron isn't running and as long as it's been scheduled then it'll run on the hour or the half hour. And then this crawl function will basically just pull my site map and look through it and find out which pages need to be updated. And then because I can use the CLI command and pull out that information I can just pass the pages that I want to update here. And then when it's finished I can run a callback function which informs the server that it's finished. And we can reset those times and stuff. So then I sort of started thinking about serving the static pages if the JavaScript hasn't loaded because that's obviously an issue when using a JavaScript framework. One thing that I found interesting was from the gov.uk blog was that surprisingly most people who don't receive JavaScript do have it turned on. They just don't get it for whatever reason. Maybe the scripts are corrupted or whatever. The problem with that is then that no script tag won't actually work for most people because they will have JS turned on but they won't get the script which I found quite surprising. So one option would be to inject static HTML into pages in a no script tag. That's one method of dealing with that issue but it may not be the best option. So this is where I'm at. I haven't quite worked out the best way yet but I was thinking of having a containing a div element on my index page that would have links to all the static pages so I could go and serve static pages to people who don't have JavaScript. It may or may not be the best idea I'm working on that. But I do get my cool share buttons and I do get to make some static files from my Ember app. There you go. That's my talk. Thanks very much.