# Pxt-sample todo list / pxt staticpkg to github doesn't update right?

**URL:** https://forum.makecode.com/t/pxt-sample-todo-list-pxt-staticpkg-to-github-doesnt-update-right/2904
**Category:** PXT
**Created:** [July 24, 2020, 6:08am UTC](https://forum.makecode.com/t/pxt-sample-todo-list-pxt-staticpkg-to-github-doesnt-update-right/2904 "2020-07-24T06:08:07Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![jfo8000](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jfo8000/32/1038_2.png) [@jfo8000](https://forum.makecode.com/u/jfo8000)
#### Post date: [July 24, 2020, 6:08am UTC](https://forum.makecode.com/t/pxt-sample-todo-list-pxt-staticpkg-to-github-doesnt-update-right/2904/1 "2020-07-24T06:08:07Z")

</div>

I am in the middle of making a pxt but I am having some difficulty following the pxt-sample instructions.

So far I have completed

- Fork repo and setup local server (see below)
- Update metadata in `pxtarget.json` . Change the id, title, name, etc… to your taste.
- Update the JavaScript runtime in `sim/simulator.ts` . If needed add additional JS library under `sim/public/**` and edit `sim/public/simulator.html` with additional `script` tags.
- Update the APIs in `sim/api.ts` to use your runtime.
- Test your editor in the local server

But am stuck on

> run `pgk staticpkg --gh --bump` to upload a static version to GitHub pages.

I assume this is `pxt staticpkg --route myrepositoryname --bump --githubpages`

But I’m a little confused on what this step does. I was able to publish once using this tool but I was not able to successfully update using this method? It’s a bit of a black box what’s happening.

Any thoughts would be lovely?  
JFo

---

<div class="post-metadata">

### Author: ![jfo8000](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jfo8000/32/1038_2.png) [@jfo8000](https://forum.makecode.com/u/jfo8000)
#### Post date: [July 26, 2020, 3:46am UTC](https://forum.makecode.com/t/pxt-sample-todo-list-pxt-staticpkg-to-github-doesnt-update-right/2904/2 "2020-07-26T03:46:20Z")

</div>

Ok I kinda worked out a solution, having read the sources now for staticpkg I think I get what it’s trying to do?

The webpages on github are served out a branch called gh-pages. It builds and as part of that process it stuffs static html into that branch. Except that whatever I did made it go crazy town and I had about 3 different copies stored in the same branch in all different locations. Swapping back and forth between the branches on my machine blew away my node modules folder which was a bit annoying when tracking down the problem.

To work around staticpkg --github not rendering images, and also being a bit too “automagic” - I both separated out the folders - one folder for each branch and created a new repo for docs.

**Make a separate folder for your github website**  
This makes life easier not switching between branches and losing node modules, etc.

First time only, make a second copy of your repository on your machine that is always in the webpage branch

- Make a new folder on your machine: `makecode-gh-pages`
- `cd makecode-gh-pages`
- `git clone YOUR_REPOSITORY`
- `cd YOUR_REPOSITORY`
- `git checkout gh-pages`

Now you will permanently have the static webpage in a folder on your machine.

**Building without the --github flag**

- Go back to your original folder (where you run `pxt serve` out of normally)
- Run `pxt serve`
- Run `pxt staticpkg --route YOUR_REPOSITORY --output ./built/gh-pages`
- Your static website will be built, a copy of which will be on your machine in YOUR\_REPOSITORY/built/gh-pages folder.

Copy the built website out to the `gh-pages` branch for publishing

- `cp -R ./built/gh-pages/YOUR_REPOSITORY ../makecode-gh-pages/`

Then go back to your `makecode-gh-pages` repo, review and commit your changes.

**To get images to load:**  
There is a bug in staticpkg/pxtembed, etc where all the images generated do not honour the `--route` you passed in.

Create a completely different repo in your github account called `docs`, I popped mine inside the `makecode-gh-pages` folder so they’re all together.

- go to github and make a new repository for your account called `docs`
- cd where-ever you put makecode-gh-pages… `cd makecode-gh-pages`
- `git clone YOUR_DOCS_REPOSITORY`
- copy `YOUR_REPOSITORY/docs` to `makecode-gh-pages/docs`
- make and publish a `gh-pages` branch on the docs repo

And now your images will be served out of the docs repo.

Thoughts appreciated…
