├── .gitignore ├── .gitmodules ├── README.md ├── archetypes └── default.md ├── assets ├── icons │ └── logo.svg └── scss │ ├── _styles_project.scss │ └── _variables_project.scss ├── config └── development │ └── server.toml ├── content ├── _index.md ├── arduino-background.jpg ├── docs │ ├── _index.md │ ├── concepts │ │ ├── _index.md │ │ ├── compiler-internals │ │ │ ├── _index.md │ │ │ ├── calling-convention.md │ │ │ ├── datatypes.md │ │ │ ├── differences-from-go.md │ │ │ ├── harvard-arch.md │ │ │ ├── heap-allocation.md │ │ │ ├── inline-assembly.md │ │ │ ├── interrupts.md │ │ │ ├── microcontrollers.md │ │ │ ├── pipeline.md │ │ │ └── volatile.md │ │ ├── drivers.md │ │ ├── faq │ │ │ ├── _index.md │ │ │ ├── what-about-esp8266-esp32.md │ │ │ ├── what-is-tinygo.md │ │ │ ├── why-a-new-compiler.md │ │ │ └── why-go-instead-of-rust.md │ │ ├── low-power.md │ │ ├── package-organization.md │ │ └── peripherals │ │ │ ├── _index.md │ │ │ ├── gpio.md │ │ │ ├── i2c.md │ │ │ └── watchdog.md │ ├── guides │ │ ├── _index.md │ │ ├── build │ │ │ ├── _index.md │ │ │ ├── additional-requirements.md │ │ │ ├── bring-your-own-llvm.md │ │ │ └── manual-llvm.md │ │ ├── compatibility.md │ │ ├── contributing │ │ │ ├── _index.md │ │ │ ├── boards.md │ │ │ └── organization.md │ │ ├── debugging.md │ │ ├── driver-design.md │ │ ├── embedded │ │ │ ├── _index.md │ │ │ └── resources.md │ │ ├── ide-integration │ │ │ ├── _index.md │ │ │ ├── intellij.md │ │ │ ├── other.md │ │ │ ├── vim-neovim.md │ │ │ └── vscode.md │ │ ├── linux.md │ │ ├── macos.md │ │ ├── optimizing-binaries.md │ │ ├── tinygo-flash-errors.md │ │ ├── tips-n-tricks.md │ │ ├── webassembly │ │ │ ├── _index.md │ │ │ ├── resources.md │ │ │ ├── wasi.md │ │ │ └── wasm.md │ │ └── windows.md │ ├── reference │ │ ├── _index.md │ │ ├── devices │ │ │ └── _index.md │ │ ├── go-compat-matrix.md │ │ ├── lang-support │ │ │ ├── _index.md │ │ │ └── stdlib.md │ │ ├── machine.md │ │ ├── microcontrollers │ │ │ ├── _index.md │ │ │ ├── arduino-mega1280.md │ │ │ ├── arduino-mega2560.md │ │ │ ├── arduino-mkr1000.md │ │ │ ├── arduino-mkrwifi1010.md │ │ │ ├── arduino-nano.md │ │ │ ├── arduino-nano33.md │ │ │ ├── arduino-zero.md │ │ │ ├── arduino.md │ │ │ ├── atsame54-xpro.md │ │ │ ├── badger2040-w.md │ │ │ ├── badger2040.md │ │ │ ├── bluepill.md │ │ │ ├── challenger-rp2040.md │ │ │ ├── circuitplay-bluefruit.md │ │ │ ├── circuitplay-express.md │ │ │ ├── clue.md │ │ │ ├── d1mini.md │ │ │ ├── digispark.md │ │ │ ├── esp32-coreboard-v2.md │ │ │ ├── esp32-mini32.md │ │ │ ├── feather-m0.md │ │ │ ├── feather-m4-can.md │ │ │ ├── feather-m4.md │ │ │ ├── feather-nrf52840-sense.md │ │ │ ├── feather-nrf52840.md │ │ │ ├── feather-rp2040.md │ │ │ ├── feather-stm32f405.md │ │ │ ├── gameboy-advance.md │ │ │ ├── grandcentral-m4.md │ │ │ ├── hifive1b.md │ │ │ ├── itsybitsy-m0.md │ │ │ ├── itsybitsy-m4.md │ │ │ ├── itsybitsy-nrf52840.md │ │ │ ├── lgt92.md │ │ │ ├── lorae5.md │ │ │ ├── m5stack-core2.md │ │ │ ├── m5stack.md │ │ │ ├── m5stamp-c3.md │ │ │ ├── machine │ │ │ │ ├── _index.md │ │ │ │ ├── arduino-mega1280.md │ │ │ │ ├── arduino-mega2560.md │ │ │ │ ├── arduino-mkr1000.md │ │ │ │ ├── arduino-mkrwifi1010.md │ │ │ │ ├── arduino-nano.md │ │ │ │ ├── arduino-nano33.md │ │ │ │ ├── arduino-zero.md │ │ │ │ ├── arduino.md │ │ │ │ ├── atsame54-xpro.md │ │ │ │ ├── badger2040-w.md │ │ │ │ ├── badger2040.md │ │ │ │ ├── bluepill.md │ │ │ │ ├── challenger-rp2040.md │ │ │ │ ├── circuitplay-bluefruit.md │ │ │ │ ├── circuitplay-express.md │ │ │ │ ├── clue.md │ │ │ │ ├── d1mini.md │ │ │ │ ├── digispark.md │ │ │ │ ├── esp32-coreboard-v2.md │ │ │ │ ├── esp32-mini32.md │ │ │ │ ├── feather-m0.md │ │ │ │ ├── feather-m4-can.md │ │ │ │ ├── feather-m4.md │ │ │ │ ├── feather-nrf52840-sense.md │ │ │ │ ├── feather-nrf52840.md │ │ │ │ ├── feather-rp2040.md │ │ │ │ ├── feather-stm32f405.md │ │ │ │ ├── gameboy-advance.md │ │ │ │ ├── grandcentral-m4.md │ │ │ │ ├── hifive1b.md │ │ │ │ ├── itsybitsy-m0.md │ │ │ │ ├── itsybitsy-m4.md │ │ │ │ ├── itsybitsy-nrf52840.md │ │ │ │ ├── lgt92.md │ │ │ │ ├── lorae5.md │ │ │ │ ├── m5stack-core2.md │ │ │ │ ├── m5stack.md │ │ │ │ ├── m5stamp-c3.md │ │ │ │ ├── macropad-rp2040.md │ │ │ │ ├── maixbit.md │ │ │ │ ├── matrixportal-m4.md │ │ │ │ ├── metro-m4-airlift.md │ │ │ │ ├── microbit.md │ │ │ │ ├── nano-33-ble.md │ │ │ │ ├── nano-rp2040.md │ │ │ │ ├── nicenano.md │ │ │ │ ├── nodemcu.md │ │ │ │ ├── nrf52840-mdk-usb-dongle.md │ │ │ │ ├── nrf52840-mdk.md │ │ │ │ ├── nucleo-f103rb.md │ │ │ │ ├── nucleo-f722ze.md │ │ │ │ ├── nucleo-l031k6.md │ │ │ │ ├── nucleo-l432kc.md │ │ │ │ ├── nucleo-l552ze.md │ │ │ │ ├── nucleo-wl55jc.md │ │ │ │ ├── p1am-100.md │ │ │ │ ├── particle-argon.md │ │ │ │ ├── particle-boron.md │ │ │ │ ├── particle-xenon.md │ │ │ │ ├── pca10031.md │ │ │ │ ├── pca10040.md │ │ │ │ ├── pca10056.md │ │ │ │ ├── pca10059.md │ │ │ │ ├── pico-w.md │ │ │ │ ├── pico.md │ │ │ │ ├── pico2-w.md │ │ │ │ ├── pico2.md │ │ │ │ ├── pinetime-devkit0.md │ │ │ │ ├── pybadge.md │ │ │ │ ├── pygamer.md │ │ │ │ ├── pyportal.md │ │ │ │ ├── qtpy-rp2040.md │ │ │ │ ├── qtpy.md │ │ │ │ ├── reelboard.md │ │ │ │ ├── stm32f4disco.md │ │ │ │ ├── swan.md │ │ │ │ ├── teensy36.md │ │ │ │ ├── teensy40.md │ │ │ │ ├── thingplus-rp2040.md │ │ │ │ ├── trinket-m0.md │ │ │ │ ├── trinkey-qt2040.md │ │ │ │ ├── tufty2040.md │ │ │ │ ├── waveshare-rp2040-zero.md │ │ │ │ ├── wioterminal.md │ │ │ │ ├── x9pro.md │ │ │ │ ├── xiao-ble.md │ │ │ │ ├── xiao-rp2040.md │ │ │ │ └── xiao.md │ │ │ ├── macropad-rp2040.md │ │ │ ├── maixbit.md │ │ │ ├── matrixportal-m4.md │ │ │ ├── metro-m4-airlift.md │ │ │ ├── microbit.md │ │ │ ├── nano-33-ble-sense.md │ │ │ ├── nano-33-ble.md │ │ │ ├── nano-rp2040.md │ │ │ ├── nicenano.md │ │ │ ├── nintendoswitch.md │ │ │ ├── nodemcu.md │ │ │ ├── nrf52840-mdk-usb-dongle.md │ │ │ ├── nrf52840-mdk.md │ │ │ ├── nucleo-f103rb.md │ │ │ ├── nucleo-f722ze.md │ │ │ ├── nucleo-l031k6.md │ │ │ ├── nucleo-l432kc.md │ │ │ ├── nucleo-l552ze.md │ │ │ ├── nucleo-wl55jc.md │ │ │ ├── p1am-100.md │ │ │ ├── particle-argon.md │ │ │ ├── particle-boron.md │ │ │ ├── particle-xenon.md │ │ │ ├── pca10031.md │ │ │ ├── pca10040.md │ │ │ ├── pca10056.md │ │ │ ├── pca10059.md │ │ │ ├── pico-w.md │ │ │ ├── pico.md │ │ │ ├── pico2-w.md │ │ │ ├── pico2.md │ │ │ ├── pinetime-devkit0.md │ │ │ ├── pybadge.md │ │ │ ├── pygamer.md │ │ │ ├── pyportal.md │ │ │ ├── qtpy-rp2040.md │ │ │ ├── qtpy.md │ │ │ ├── reelboard.md │ │ │ ├── stm32f4disco.md │ │ │ ├── swan.md │ │ │ ├── teensy36.md │ │ │ ├── teensy40.md │ │ │ ├── thingplus-rp2040.md │ │ │ ├── trinket-m0.md │ │ │ ├── trinkey-qt2040.md │ │ │ ├── tufty2040.md │ │ │ ├── waveshare-rp2040-zero.md │ │ │ ├── wioterminal.md │ │ │ ├── x9pro.md │ │ │ ├── xiao-ble.md │ │ │ ├── xiao-rp2040.md │ │ │ └── xiao.md │ │ └── usage │ │ │ ├── _index.md │ │ │ ├── basic.md │ │ │ ├── important-options.md │ │ │ ├── misc-options.md │ │ │ └── subcommands.md │ └── tutorials │ │ ├── _index.md │ │ ├── blinky.md │ │ ├── gdb.md │ │ ├── pwm.md │ │ └── serialmonitor.md ├── getting-started │ ├── _index.md │ ├── install │ │ ├── _index.md │ │ ├── linux.md │ │ ├── macos.md │ │ ├── using-docker.md │ │ └── windows.md │ ├── overview │ │ └── _index.md │ └── tour.md ├── media │ ├── _index.md │ ├── articles.md │ └── video.md ├── play │ └── _index.md ├── search.md ├── simulator │ └── simulator.md └── tour │ ├── _index.md │ ├── blink │ ├── _index.md │ ├── external.md │ └── onboard.md │ ├── button │ ├── _index.md │ ├── external.md │ └── onboard.md │ ├── pwm │ ├── _index.md │ ├── blink.md │ ├── fade.md │ ├── multiple.md │ ├── servo-driver.md │ ├── servo-multiple.md │ └── servo.md │ └── ws2812 │ ├── _index.md │ ├── animating.md │ └── intro.md ├── doc-gen ├── Makefile ├── README.md ├── go.mod ├── go.sum └── main.go ├── go.mod ├── go.sum ├── hugo.toml ├── imports ├── Makefile ├── go.mod └── main.go ├── layouts ├── partials │ └── hooks │ │ ├── body-end.html │ │ └── head-end.html └── tour │ ├── baseof.html │ └── single.html ├── netlify.toml ├── package-lock.json ├── package.json └── static ├── CNAME ├── favicons ├── _head.html ├── apple-touch-icon-180x180.png ├── browserconfig.xml ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── pwa-192x192.png ├── pwa-512x512.png ├── tile150x150.png ├── tile310x150.png ├── tile310x310.png └── tile70x70.png ├── images ├── favicon.png ├── i2c-mpu6050-whoami.png ├── i2c-target-flow.png ├── nano33pinmap.jpg ├── tinygo-logo-10.svg ├── tinygo-logo-20.svg ├── tinygo-logo-border.png ├── tinygo-logo-small.png ├── tinygo-logo.png └── tinygo-logo.svg ├── playground-home.js ├── playground-play.js ├── tour.js └── x ├── bluetooth └── index.html ├── device └── index.html ├── drivers ├── adt7410 │ └── index.html ├── adxl345 │ └── index.html ├── apa102 │ └── index.html ├── at24cx │ └── index.html ├── bh1750 │ └── index.html ├── blinkm │ └── index.html ├── bme280 │ └── index.html ├── bmp180 │ └── index.html ├── buzzer │ └── index.html ├── ds1307 │ └── index.html ├── ds3231 │ └── index.html ├── easystepper │ └── index.html ├── espat │ ├── index.html │ ├── mqtt │ │ └── index.html │ ├── net │ │ └── index.html │ └── tls │ │ └── index.html ├── gps │ └── index.html ├── hd44780 │ └── index.html ├── hub75 │ └── index.html ├── ili9341 │ └── index.html ├── index.html ├── l293x │ └── index.html ├── l9110x │ └── index.html ├── lis3dh │ └── index.html ├── lsm6ds3 │ └── index.html ├── mag3110 │ └── index.html ├── mcp3008 │ └── index.html ├── microphone │ └── index.html ├── mma8653 │ └── index.html ├── mpu6050 │ └── index.html ├── net │ ├── index.html │ ├── mqtt │ │ └── index.html │ └── tls │ │ └── index.html ├── pcd8544 │ └── index.html ├── semihosting │ └── index.html ├── shifter │ └── index.html ├── sht3x │ └── index.html ├── ssd1306 │ └── index.html ├── ssd1331 │ └── index.html ├── st7735 │ └── index.html ├── st7789 │ └── index.html ├── thermistor │ └── index.html ├── touch │ ├── index.html │ └── resistive │ │ └── index.html ├── veml6070 │ └── index.html ├── vl53l1x │ └── index.html ├── waveshare-epd │ ├── epd2in13 │ │ └── index.html │ └── epd2in13x │ │ └── index.html ├── wifinina │ └── index.html └── ws2812 │ └── index.html ├── go-llvm └── index.html ├── tinydraw └── index.html ├── tinyfont └── index.html ├── tinyfs └── index.html ├── tinygba └── index.html ├── tinygl-font └── index.html ├── tinygl └── index.html ├── tinygo ├── compiler │ └── index.html ├── index.html ├── interp │ └── index.html ├── ir │ └── index.html └── loader │ └── index.html └── tinyterm └── index.html /.gitignore: -------------------------------------------------------------------------------- 1 | public 2 | ./build 3 | node_modules 4 | resources 5 | npm-debug.log 6 | .hugo_build.lock -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "static/playground"] 2 | path = static/playground 3 | url = https://github.com/tinygo-org/playground.git 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TinyGo Web Site 2 | 3 | [![Netlify Status](https://api.netlify.com/api/v1/badges/83fc0c21-220b-4d35-ad59-3d48f31bb4b6/deploy-status)](https://app.netlify.com/sites/tinygo/deploys) 4 | 5 | This is the web site for TinyGo. 6 | 7 | Built using Hugo: 8 | 9 | http://gohugo.io/ 10 | 11 | and the Hugo "Docsy" theme: 12 | 13 | https://github.com/google/docsy 14 | 15 | ## Prerequisites 16 | 17 | Install Hugo command line tool for your operating system with the "extended" option, along with the needed NodeJS modules for processing the site CSS: 18 | 19 | https://www.docsy.dev/docs/getting-started/#prerequisites-and-installation 20 | 21 | ## Installation 22 | 23 | Clone this repo using: 24 | 25 | git clone git@github.com:tinygo-org/tinygo-site.git 26 | 27 | Change directories into the tinygo-site directory: 28 | 29 | cd tinygo-site 30 | 31 | You are now able to run the site locally, "Docsy" theme will be automatically downloaded as module: 32 | 33 | hugo serve 34 | 35 | Once the site code is running locally, you can navigate to it by going to http://localhost:1313 36 | 37 | ## Deploy to Netlify 38 | 39 | Pushing to the `release` branch automatically deploys the latest site to Netlify. 40 | 41 | That's it. 42 | 43 | ## TODO: 44 | 45 | - ? 46 | -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | date: {{ .Date }} 4 | draft: true 5 | --- 6 | 7 | -------------------------------------------------------------------------------- /assets/scss/_styles_project.scss: -------------------------------------------------------------------------------- 1 | @import 'td/code-dark'; 2 | 3 | code { 4 | tab-size: 4; 5 | } 6 | 7 | .playground-editor { 8 | /* make the editor scrollable */ 9 | overflow: auto; 10 | } 11 | .playground-editor:not([style*="height"]) { 12 | /* set a default max-height of 20 lines that is resizable (resizing will set 13 | * style="height: ..." which invalidates this style) */ 14 | max-height: calc(20em * var(--bs-body-line-height) + .375rem * 2); 15 | } 16 | 17 | /* Match the appearance of a Bootstrap