diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/deploy.yml
similarity index 77%
rename from .github/workflows/jekyll-gh-pages.yml
rename to .github/workflows/deploy.yml
index e31d81c..49e7eff 100644
--- a/.github/workflows/jekyll-gh-pages.yml
+++ b/.github/workflows/deploy.yml
@@ -1,5 +1,4 @@
-# Sample workflow for building and deploying a Jekyll site to GitHub Pages
-name: Deploy Jekyll with GitHub Pages dependencies preinstalled
+name: Deploy sphinx site to Pages
on:
# Runs on pushes targeting the default branch
@@ -26,17 +25,18 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- - name: Checkout
- uses: actions/checkout@v4
+ - uses: actions/checkout@v4
+ - name: Install Sphinx and other dependencies
+ run: pip install -r requirements.txt # assume ubuntu-latest will have pip
- name: Setup Pages
+ id: pages
uses: actions/configure-pages@v5
- - name: Build with Jekyll
- uses: actions/jekyll-build-pages@v1
- with:
- source: ./
- destination: ./_site
+ - name: Build with Sphinx
+ run: sphinx-build source build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
+ with:
+ path: ./build
# Deployment job
deploy:
diff --git a/.gitignore b/.gitignore
index a3816f7..b2f564d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,5 @@
/.idea
# for local testing
-Gemfile.lock
-Gemfile
-.jekyll-metadata
-_site
+.venv
+build
diff --git a/README.md b/README.md
index 08b3cc2..74aa5a3 100644
--- a/README.md
+++ b/README.md
@@ -1,145 +1,15 @@
# pygame-web.github.io
+This is the CDN root used by [Pygbag](https://pypi.org/project/pygbag/) and its documentation.
-
+The documentation is built with [sphinx-doc](https://www.sphinx-doc.org) and the [furo](https://pradyunsg.me/furo/) theme.
+We also recommend using `sphinx-autobuild`.
-This is the CDN root used by [Pygbag](https://pypi.org/project/pygbag/).
-
-[The wiki](/wiki/).
-
-[Source code](https://github.com/pygame-web/pygbag)
-
-[Old runtimes and current](https://github.com/pygame-web/archives)
-
-
-### Pygbag does not track usage at all, not even for statistical purposes.
-If you like it, please [star](https://github.com/pygame-web/pygbag/stargazers) the repository!
-
-## (Very) important points
-
-**Also, read the page on [making your code compatible with browser game loop](https://pygame-web.github.io/wiki/python-wasm). You will probably have to change some of your code.**
-
-### All operating systems
-
-- Name your main game script `main.py` and put it in the root folder of your game.
-- Make your main loop async-aware and use `asyncio.sleep(0)` every iteration to give control back to the main thread.
-- Add `--template noctx.tmpl` to pygbag command line if using 3D/WebGL.
-- Put the import statements of complex packages in order (but numpy first) at the top of `main.py`.
-- Avoid using CPython's standard library for web operations, GUI (like tkinter), or I/O as it is very synchronous/platform-specific and will probably stay that way. In terms of GUI alternatives, [pygame_gui](https://pypi.org/project/pygame_gui) works on top of [pygame-ce](https://pyga.me), [Panda3D](https://www.panda3d.org/) provides [directgui](https://docs.panda3d.org/1.10/python/programming/gui/directgui/index) and Harfang3D provides imgui. They are all cross-platform.
-- You can add a square image file named `favicon.png` in your game's root folder to make Pygbag use it as the web package's favicon.
-- Make sure all audio files are in OGG (best compression format targeting 16bits 24Khz Mono). (that is especially **not in WAV/AIFF/M4A/MP3 format**)
-- Avoid raw formats like BMP for your image assets, they are too big for web use; use PNG/WEBP or JPG instead.
-
-- Filenames are case sensitive ( Folder/MyFile.png and folder/myfile.png are two different files). Do not use filenames like `*-pygbag.*` that pattern is reserved for pygbag internal use (optimizing pass).
-
-Before packaging, adapt your code this way if you still want WAV/MP3 format on desktop:
-```py
-if sys.platform == "emscripten":
- snd = pygame.mixer.Sound("sound.ogg")
-else:
- snd = pygame.mixer.Sound("sound.wav") # or .WAV, .mp3, .MP3, etc.
+To build the docs, install the dependencies (which include `sphinx-autobuild`):
```
-
-if you have heightmaps in your assets use `--no_opt` to prevent png recompression.
-
-if you want to keep pixelated look whatever the device screen size is use:
-```py
-import sys, platform
-if sys.platform == "emscripten":
- platform.window.canvas.style.imageRendering = "pixelated"
+pip install -r requirements.txt
```
-
-### Windows
-
-- Use Python that was downloaded from python.org rather than the Windows Store. You can check installed version(s) with the `py --list` command.
-- Use `/` instead of `\` as a path separator (e.g. `img/my_image.png` instead of `img\my_image.png`). The path should still be valid on newer Windows versions.
-
-### MacOS
-
-- If you get a SSL error, use the file `Install Certificates.command` in `Applications/Python 3.XX`.
-
-### Linux
-
-- When using webusb ftdi serial emulation, use `sudo rmmod ftdi_sio` after plugging devices.
-
-
-
-## Templates
-
-There is actually nothing specific for projects except naming entry point main.py, because Python-WASM is just a web-friendly version of CPython REPL with [some added facilities](https://discuss.python.org/t/status-of-wasm-in-cpythons-main-branch/15542/12?u=pmp-p). Most desktop code will run (and continue to run) with only a few changes.
-
-Basic structure of a game (available [here](https://github.com/pygame-web/pygbag/tree/main/test)):
+and build the documentation:
```
-test
-├── img
-│ ├── pygc.bmp
-│ ├── pygc.png
-│ └── tiger.svg
-├── main.py
-└── sfx
- └── beep.ogg
+sphinx-autobuild source build
```
-where `test` is the "runtime game folder", current working directory ( os.getcwd() ) or more simply "."
-
-Useful .gitignore additions:
-```
-*.wav
-*.mp3
-*.pyc
-*.egg-info
-*-pygbag.???
-/build
-/dist
-```
-But there are templates to customize runtime startup for 2D and 3D, see [templates](/wiki/pygbag/#templates)
-
-
-[controlling pygbag packing and options from pygbag.ini](/wiki/pygbag-configuration)
-
-
-## Coding
-
-- [General Python-WASM](/wiki/python-wasm/)
-- [With Pygbag specifically](/wiki/pygbag-code/)
-- [Pygbag code examples](/wiki/pygbag-code/#pygbag-code-specificssamples)
-
-## Adding modules
-
-- [List of available wheels](/wiki/pkg/)
-- [requesting modules](https://github.com/pygame-web/pkg-porting-wasm/issues)
-- [Panda3D quickstart](https://pygame-web.github.io/wiki/pkg/panda3d)
-
-
-When importing **non-stdlib** packages (for example, numpy or matplotlib), you must put their import statements at top of `main.py`. You should also add a metadata header as specified by [PEP 723](https://peps.python.org/pep-0723/), for example:
-
-```py
-# /// script
-# dependencies = [
-# "pygame-ce",
-# "pyscroll",
-# "pytmx",
-# ]
-# ///
-```
-more on : https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata
-
-## Debugging / Desktop Simulator
-
-- The REPL shortcut http://localhost:8000?-i, REPL will (should) run concurrently as main.py.
-- [How to enter debug mode](/wiki/pygbag-debug/)
-- While working, you can access the simulator of the web loop by replacing `import asyncio` by `import pygbag.aio as asyncio` at top of main.py and run the program from the folder containing it.
-- TODO: Android remote debugging via [chromium browsers series](https://developer.chrome.com/docs/devtools/remote-debugging/).
-- TODO: Universal remote debugging via IRC Client or websocket using pygbag.net.
-- [pygbag runtime ?](/wiki/pygbag-internals)
-
-
-There's number of command line options : read Pygbag's [project description](https://pypi.org/project/pygbag/) for a more detailed overview.
-
-
-Visit the [wiki](/wiki/) to get started!
-
-
-**Work in progress, pull requests welcomed. Feel free to propose links to games or tutorials. Please contribute!!!**
-
-Logo thanks to https://github.com/FinFetChannel
-
-[Edit this page](https://github.com/pygame-web/pygame-web.github.io/edit/main/README.md)
+You will be able to view the site locally at [http://127.0.0.1:8000](http://127.0.0.1:8000).
\ No newline at end of file
diff --git a/assets/README.md b/assets/README.md
deleted file mode 100644
index 40f2b65..0000000
--- a/assets/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-Pygbag related community creations
-
-[
](https://github.com/pygame-web/pygame-web.github.io/tree/main/assets)
-
-
-[
](https://github.com/pygame-web/pygame-web.github.io/tree/main/assets)
-
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..962abdf
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,4 @@
+sphinx
+furo
+myst-parser
+sphinx-autobuild
diff --git a/source/assets/README.md b/source/assets/README.md
new file mode 100644
index 0000000..f6936a7
--- /dev/null
+++ b/source/assets/README.md
@@ -0,0 +1,7 @@
+# assets
+Pygbag related community creations
+
+
+
+
+
diff --git a/assets/pyg1.png b/source/assets/pyg1.png
similarity index 100%
rename from assets/pyg1.png
rename to source/assets/pyg1.png
diff --git a/assets/pyg2.png b/source/assets/pyg2.png
similarity index 100%
rename from assets/pyg2.png
rename to source/assets/pyg2.png
diff --git a/assets/pygbag_logo.png b/source/assets/pygbag_logo.png
similarity index 100%
rename from assets/pygbag_logo.png
rename to source/assets/pygbag_logo.png
diff --git a/source/conf.py b/source/conf.py
new file mode 100644
index 0000000..8e4d60a
--- /dev/null
+++ b/source/conf.py
@@ -0,0 +1,32 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
+
+project = "pygame-web"
+copyright = "2025, pygame-web"
+author = "pygame-web"
+
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+
+extensions = ["myst_parser"]
+
+templates_path = ["_templates"]
+exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
+
+source_suffix = {
+ ".rst": "restructuredtext",
+ ".txt": "markdown",
+ ".md": "markdown",
+}
+
+
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
+
+html_theme = "furo"
+html_static_path = ["_static"]
diff --git a/source/index.md b/source/index.md
new file mode 100644
index 0000000..e3a501c
--- /dev/null
+++ b/source/index.md
@@ -0,0 +1,159 @@
+# pygame-web.github.io
+
+
+
+This is the CDN root used by [Pygbag](https://pypi.org/project/pygbag/).
+
+[The wiki](/wiki/).
+
+[Source code](https://github.com/pygame-web/pygbag)
+
+[Old runtimes and current](https://github.com/pygame-web/archives)
+
+
+### Pygbag does not track usage at all, not even for statistical purposes.
+If you like it, please [star](https://github.com/pygame-web/pygbag/stargazers) the repository!
+
+## (Very) important points
+
+**Also, read the page on [making your code compatible with browser game loop](https://pygame-web.github.io/wiki/python-wasm). You will probably have to change some of your code.**
+
+### All operating systems
+
+- Name your main game script `main.py` and put it in the root folder of your game.
+- Make your main loop async-aware and use `asyncio.sleep(0)` every iteration to give control back to the main thread.
+- Add `--template noctx.tmpl` to pygbag command line if using 3D/WebGL.
+- Put the import statements of complex packages in order (but numpy first) at the top of `main.py`.
+- Avoid using CPython's standard library for web operations, GUI (like tkinter), or I/O as it is very synchronous/platform-specific and will probably stay that way. In terms of GUI alternatives, [pygame_gui](https://pypi.org/project/pygame_gui) works on top of [pygame-ce](https://pyga.me), [Panda3D](https://www.panda3d.org/) provides [directgui](https://docs.panda3d.org/1.10/python/programming/gui/directgui/index) and Harfang3D provides imgui. They are all cross-platform.
+- You can add a square image file named `favicon.png` in your game's root folder to make Pygbag use it as the web package's favicon.
+- Make sure all audio files are in OGG (best compression format targeting 16bits 24Khz Mono). (that is especially **not in WAV/AIFF/M4A/MP3 format**)
+- Avoid raw formats like BMP for your image assets, they are too big for web use; use PNG/WEBP or JPG instead.
+
+- Filenames are case sensitive ( Folder/MyFile.png and folder/myfile.png are two different files). Do not use filenames like `*-pygbag.*` that pattern is reserved for pygbag internal use (optimizing pass).
+
+Before packaging, adapt your code this way if you still want WAV/MP3 format on desktop:
+```py
+if sys.platform == "emscripten":
+ snd = pygame.mixer.Sound("sound.ogg")
+else:
+ snd = pygame.mixer.Sound("sound.wav") # or .WAV, .mp3, .MP3, etc.
+```
+
+if you have heightmaps in your assets use `--no_opt` to prevent png recompression.
+
+if you want to keep pixelated look whatever the device screen size is use:
+```py
+import sys, platform
+if sys.platform == "emscripten":
+ platform.window.canvas.style.imageRendering = "pixelated"
+```
+
+### Windows
+
+- Use Python that was downloaded from python.org rather than the Windows Store. You can check installed version(s) with the `py --list` command.
+- Use `/` instead of `\` as a path separator (e.g. `img/my_image.png` instead of `img\my_image.png`). The path should still be valid on newer Windows versions.
+
+### MacOS
+
+- If you get a SSL error, use the file `Install Certificates.command` in `Applications/Python 3.XX`.
+
+### Linux
+
+- When using webusb ftdi serial emulation, use `sudo rmmod ftdi_sio` after plugging devices.
+
+
+
+## Templates
+
+There is actually nothing specific for projects except naming entry point main.py, because Python-WASM is just a web-friendly version of CPython REPL with [some added facilities](https://discuss.python.org/t/status-of-wasm-in-cpythons-main-branch/15542/12?u=pmp-p). Most desktop code will run (and continue to run) with only a few changes.
+
+Basic structure of a game (available [here](https://github.com/pygame-web/pygbag/tree/main/test)):
+```
+test
+├── img
+│ ├── pygc.bmp
+│ ├── pygc.png
+│ └── tiger.svg
+├── main.py
+└── sfx
+ └── beep.ogg
+```
+where `test` is the "runtime game folder", current working directory ( os.getcwd() ) or more simply "."
+
+Useful .gitignore additions:
+```
+*.wav
+*.mp3
+*.pyc
+*.egg-info
+*-pygbag.???
+/build
+/dist
+```
+But there are templates to customize runtime startup for 2D and 3D, see [templates](/wiki/pygbag/#templates)
+
+
+[controlling pygbag packing and options from pygbag.ini](/wiki/pygbag-configuration)
+
+
+## Coding
+
+- [General Python-WASM](/wiki/python-wasm/)
+- [With Pygbag specifically](/wiki/pygbag-code/)
+- [Pygbag code examples](/wiki/pygbag-code/#pygbag-code-specificssamples)
+
+## Adding modules
+
+- [List of available wheels](/wiki/pkg/)
+- [requesting modules](https://github.com/pygame-web/pkg-porting-wasm/issues)
+- [Panda3D quickstart](https://pygame-web.github.io/wiki/pkg/panda3d)
+
+
+When importing **non-stdlib** packages (for example, numpy or matplotlib), you must put their import statements at top of `main.py`. You should also add a metadata header as specified by [PEP 723](https://peps.python.org/pep-0723/), for example:
+
+```py
+# /// script
+# dependencies = [
+# "pygame-ce",
+# "pyscroll",
+# "pytmx",
+# ]
+# ///
+```
+more on : https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata
+
+## Debugging / Desktop Simulator
+
+- The REPL shortcut http://localhost:8000?-i, REPL will (should) run concurrently as main.py.
+- [How to enter debug mode](/wiki/pygbag-debug/)
+- While working, you can access the simulator of the web loop by replacing `import asyncio` by `import pygbag.aio as asyncio` at top of main.py and run the program from the folder containing it.
+- TODO: Android remote debugging via [chromium browsers series](https://developer.chrome.com/docs/devtools/remote-debugging/).
+- TODO: Universal remote debugging via IRC Client or websocket using pygbag.net.
+- [pygbag runtime ?](/wiki/pygbag-internals)
+
+
+There's number of command line options : read Pygbag's [project description](https://pypi.org/project/pygbag/) for a more detailed overview.
+
+
+Visit the [wiki](/wiki/) to get started!
+
+
+**Work in progress, pull requests welcomed. Feel free to propose links to games or tutorials. Please contribute!!!**
+
+Logo thanks to https://github.com/FinFetChannel
+
+[Edit this page](https://github.com/pygame-web/pygame-web.github.io/edit/main/README.md)
+
+```{toctree}
+:hidden:
+:caption: Reference Wiki
+
+wiki/index
+```
+```{toctree}
+:caption: Misc
+:hidden:
+
+platform_wasm/README
+assets/README
+```
diff --git a/platform_wasm/README.md b/source/platform_wasm/README.md
similarity index 75%
rename from platform_wasm/README.md
rename to source/platform_wasm/README.md
index 733b852..ffc3a44 100644
--- a/platform_wasm/README.md
+++ b/source/platform_wasm/README.md
@@ -1 +1,2 @@
+# platform_wasm
support for interfacing packages with wasm hosts
diff --git a/source/wiki/dinovm/README.md b/source/wiki/dinovm/README.md
new file mode 100644
index 0000000..0d9b9a5
--- /dev/null
+++ b/source/wiki/dinovm/README.md
@@ -0,0 +1,2 @@
+# dinovm
+WIP
diff --git a/wiki/README.md b/source/wiki/index.md
similarity index 94%
rename from wiki/README.md
rename to source/wiki/index.md
index fb8fc03..2da9d74 100644
--- a/wiki/README.md
+++ b/source/wiki/index.md
@@ -1,6 +1,8 @@
-Check out some [demos](#demos-on-itchio) before you start!
+# Wiki
-## Using Pygbag
+```{seealso}
+Check out some [demos](#demos-on-itchio) before you start!
+```
- Visit [this page](/wiki/pygbag/) on how to use Pygbag to make web games with Python.
- Visit [this page](/wiki/pygbag-code/) for useful Pygbag code snippets and a Pygbag FAQ.
@@ -112,3 +114,19 @@ Thanks for reading and supporting pygame-ce and pygbag. These tools could not ha
[edit this page](https://github.com/pygame-web/pygame-web.github.io/edit/main/wiki/README.md)
+
+```{toctree}
+pygbag/README
+pygbag-code/README
+pygbag-configuration/README
+pygbag-debug/README
+pygbag-internals/README
+pygbag-script/README
+python-wasm/README
+dinovm/README
+pkg/README
+pkg/nurses_2/README
+pkg/panda3d/README
+publishing/github.io/README
+publishing/itch.io/README
+```
\ No newline at end of file
diff --git a/wiki/pkg/README.md b/source/wiki/pkg/README.md
similarity index 99%
rename from wiki/pkg/README.md
rename to source/wiki/pkg/README.md
index 7c6be65..fb294d3 100644
--- a/wiki/pkg/README.md
+++ b/source/wiki/pkg/README.md
@@ -1,3 +1,4 @@
+# pkg
Welcome to the pygbag packages (actually wheel format) repository list.
README.md should be in /wiki/pkg/``/README.md , not the pypi project name.
diff --git a/wiki/pkg/nurses_2/README.md b/source/wiki/pkg/nurses_2/README.md
similarity index 98%
rename from wiki/pkg/nurses_2/README.md
rename to source/wiki/pkg/nurses_2/README.md
index bef4c2c..6ba1836 100644
--- a/wiki/pkg/nurses_2/README.md
+++ b/source/wiki/pkg/nurses_2/README.md
@@ -1,3 +1,4 @@
+# nurses_2
[original documentation](https://salt-die.github.io/nurses_2/index.html)
diff --git a/wiki/pkg/panda3d/README.md b/source/wiki/pkg/panda3d/README.md
similarity index 96%
rename from wiki/pkg/panda3d/README.md
rename to source/wiki/pkg/panda3d/README.md
index ad5c158..f668353 100644
--- a/wiki/pkg/panda3d/README.md
+++ b/source/wiki/pkg/panda3d/README.md
@@ -1,3 +1,4 @@
+# panda3d
[Panda3D is a framework for 3D rendering and game development for Python and C++ programs.](https://pypi.org/project/Panda3D/)
[original documentation](https://docs.panda3d.org/1.10/python/index)
@@ -58,7 +59,7 @@ Changes made to get a wheel [PR against webgl-port branch](https://github.com/pm
-# conversion tutorial
+## conversion tutorial
the basic command to produce a itch.io compatible zip is
@@ -70,13 +71,13 @@ note: only use `--ume_block 0` when you have no sound playing at game startup (
This zip archive can be uploaded directly on itch after selection on the HTML game type . (provided everything else works and is set up as detailed below)
-## changes to the code.
+### changes to the code.
The base used was [https://github.com/BMaxV/panda3d_shading 03main.py](https://github.com/BMaxV/panda3d_shading 03main.py)
note: preferably use a 1024x600 screen size.
-## changes to the code for web
+### changes to the code for web
so my original code uses this kind of mainloop:
@@ -125,7 +126,7 @@ import pygbag.aio as asyncio
which "gives control to the browser" in between ticks.
-## importing a "pure python" custom module
+### importing a "pure python" custom module
For example the imported custom module is https://github.com/BMaxV/panda3d_interface_glue and that one should have no dependencies except Panda3D.
@@ -143,7 +144,7 @@ which builds the module into a wheel at `interfacegluedir/dist` The wheel then s
-## testing
+### testing
If you leave `--archive` out, it starts a local webserver instead and you can visit (default) http://localhost:8000/ to test how well it works.
@@ -152,7 +153,7 @@ You can visit [http://localhost:8000/?-i](http://localhost:8000/?-i) instead to
The name `main.py` is actually important, your main file has to be called `main.py`, alternative names will not work.
-## github pages and CI
+### github pages and CI
Just clone this repo and adapt to your game : https://github.com/pmp-p/pygbag-panda3d-ci
diff --git a/wiki/publishing/github.io/README.md b/source/wiki/publishing/github.io/README.md
similarity index 99%
rename from wiki/publishing/github.io/README.md
rename to source/wiki/publishing/github.io/README.md
index eaabb8d..e975791 100644
--- a/wiki/publishing/github.io/README.md
+++ b/source/wiki/publishing/github.io/README.md
@@ -1,3 +1,4 @@
+# github.io
diff --git a/wiki/publishing/github.io/actions.png b/source/wiki/publishing/github.io/actions.png
similarity index 100%
rename from wiki/publishing/github.io/actions.png
rename to source/wiki/publishing/github.io/actions.png
diff --git a/wiki/publishing/github.io/pages.png b/source/wiki/publishing/github.io/pages.png
similarity index 100%
rename from wiki/publishing/github.io/pages.png
rename to source/wiki/publishing/github.io/pages.png
diff --git a/wiki/publishing/github.io/pygbag.yml b/source/wiki/publishing/github.io/pygbag.yml
similarity index 100%
rename from wiki/publishing/github.io/pygbag.yml
rename to source/wiki/publishing/github.io/pygbag.yml
diff --git a/wiki/publishing/github.io/yml.png b/source/wiki/publishing/github.io/yml.png
similarity index 100%
rename from wiki/publishing/github.io/yml.png
rename to source/wiki/publishing/github.io/yml.png
diff --git a/wiki/publishing/itch.io/README.md b/source/wiki/publishing/itch.io/README.md
similarity index 100%
rename from wiki/publishing/itch.io/README.md
rename to source/wiki/publishing/itch.io/README.md
diff --git a/wiki/pygbag-code/README.md b/source/wiki/pygbag-code/README.md
similarity index 100%
rename from wiki/pygbag-code/README.md
rename to source/wiki/pygbag-code/README.md
diff --git a/wiki/pygbag-configuration/README.md b/source/wiki/pygbag-configuration/README.md
similarity index 85%
rename from wiki/pygbag-configuration/README.md
rename to source/wiki/pygbag-configuration/README.md
index 6c4e7cf..adb0520 100644
--- a/wiki/pygbag-configuration/README.md
+++ b/source/wiki/pygbag-configuration/README.md
@@ -1,3 +1,4 @@
+# pygbag-configuration
TODO: pygbag.ini
diff --git a/wiki/pygbag-debug/README.md b/source/wiki/pygbag-debug/README.md
similarity index 99%
rename from wiki/pygbag-debug/README.md
rename to source/wiki/pygbag-debug/README.md
index 8192a64..5c29e42 100644
--- a/wiki/pygbag-debug/README.md
+++ b/source/wiki/pygbag-debug/README.md
@@ -1,3 +1,5 @@
+# pygbag-debug
+
pygbag comes with an interactive Python-like REPL that can be used for debugging.
## to open
diff --git a/wiki/pygbag-internals/README.md b/source/wiki/pygbag-internals/README.md
similarity index 99%
rename from wiki/pygbag-internals/README.md
rename to source/wiki/pygbag-internals/README.md
index 4b4d02b..a4649bd 100644
--- a/wiki/pygbag-internals/README.md
+++ b/source/wiki/pygbag-internals/README.md
@@ -1,3 +1,4 @@
+# pygbag-internals
When running in the webpage pygbag is in fact a C runtime linked to libpython ( cpython-wasm from python.org) compiled to WebAssembly with emscripten compiler and hosted on a CDN (pygame-web.github.io). It is downloaded once per game and per version update for fast local use.
diff --git a/wiki/pygbag-script/README.md b/source/wiki/pygbag-script/README.md
similarity index 99%
rename from wiki/pygbag-script/README.md
rename to source/wiki/pygbag-script/README.md
index 746a3aa..225d7a6 100644
--- a/wiki/pygbag-script/README.md
+++ b/source/wiki/pygbag-script/README.md
@@ -1,3 +1,5 @@
+# pygbag-script
+
## When to use pygbag script ?
- when you don't need assets packaging because you download them at runtime.
diff --git a/wiki/pygbag/README.md b/source/wiki/pygbag/README.md
similarity index 100%
rename from wiki/pygbag/README.md
rename to source/wiki/pygbag/README.md
diff --git a/wiki/python-wasm/README.md b/source/wiki/python-wasm/README.md
similarity index 100%
rename from wiki/python-wasm/README.md
rename to source/wiki/python-wasm/README.md
diff --git a/wiki/dinovm/README.md b/wiki/dinovm/README.md
deleted file mode 100644
index 00d7bdd..0000000
--- a/wiki/dinovm/README.md
+++ /dev/null
@@ -1 +0,0 @@
-WIP