Anchor links (#28)

Use subheadings instead of bullet points to enable GitHubs anchor links
This commit is contained in:
Daniel Stefanovic 2018-05-13 10:55:10 +02:00 committed by GitHub
parent 9bc4af95d1
commit 1b64257b33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,14 +1,16 @@
**[[Submit tutorial](https://github.com/danistefanovic/build-your-own-x/issues/new)]** **[[Submit tutorial](https://github.com/danistefanovic/build-your-own-x/issues/new)]**
# ![Build your own](feynman.png) # ![Build your own X](feynman.png)
#### Build your own `3D Renderer`
* Build your own **3D Renderer**
* [**C++**: *Introduction to Ray Tracing: a Simple Method for Creating 3D Images*](https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work) * [**C++**: *Introduction to Ray Tracing: a Simple Method for Creating 3D Images*](https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work)
* [**C++**: *How OpenGL works: software rendering in 500 lines of code*](https://github.com/ssloy/tinyrenderer/wiki) * [**C++**: *How OpenGL works: software rendering in 500 lines of code*](https://github.com/ssloy/tinyrenderer/wiki)
* [**Java + JavaScript**: *Build your own 3D renderer*](https://avik-das.github.io/build-your-own-raytracer/) * [**Java + JavaScript**: *Build your own 3D renderer*](https://avik-das.github.io/build-your-own-raytracer/)
* [**Java**: *How to create your own simple 3D render engine in pure Java*](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html) * [**Java**: *How to create your own simple 3D render engine in pure Java*](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html)
* Build your own **Blockchain** / **Cryptocurrency** #### Build your own `Blockchain / Cryptocurrency`
* [**ATS**: *Functional Blockchain*](https://beta.observablehq.com/@galletti94/functional-blockchain) * [**ATS**: *Functional Blockchain*](https://beta.observablehq.com/@galletti94/functional-blockchain)
* [**Ethereum**: *From “What is Blockchain?” to building a blockchain in less than an hour*](https://medium.freecodecamp.org/from-what-is-blockchain-to-building-a-blockchain-within-an-hour-4e738efc819d) * [**Ethereum**: *From “What is Blockchain?” to building a blockchain in less than an hour*](https://medium.freecodecamp.org/from-what-is-blockchain-to-building-a-blockchain-within-an-hour-4e738efc819d)
* [**Java**: *Creating Your First Blockchain with Java*](https://medium.com/programmers-blockchain/create-simple-blockchain-java-tutorial-from-scratch-6eeed3cb03fa) * [**Java**: *Creating Your First Blockchain with Java*](https://medium.com/programmers-blockchain/create-simple-blockchain-java-tutorial-from-scratch-6eeed3cb03fa)
@ -20,7 +22,9 @@
* [**Python**: *Build your own blockchain: a Python tutorial*](http://ecomunsing.com/build-your-own-blockchain) * [**Python**: *Build your own blockchain: a Python tutorial*](http://ecomunsing.com/build-your-own-blockchain)
* [**TypeScript**: *Naivecoin: a tutorial for building a cryptocurrency*](https://lhartikk.github.io/) * [**TypeScript**: *Naivecoin: a tutorial for building a cryptocurrency*](https://lhartikk.github.io/)
* Build your own **Bot**
#### Build your own `Bot`
* [**Haskell**: *Roll your own IRC bot*](https://wiki.haskell.org/Roll_your_own_IRC_bot) * [**Haskell**: *Roll your own IRC bot*](https://wiki.haskell.org/Roll_your_own_IRC_bot)
* [**Node.js**: *Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js*](https://tutorials.botsfloor.com/creating-a-simple-facebook-messenger-ai-bot-with-api-ai-in-node-js-50ae2fa5c80d) * [**Node.js**: *Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js*](https://tutorials.botsfloor.com/creating-a-simple-facebook-messenger-ai-bot-with-api-ai-in-node-js-50ae2fa5c80d)
* [**Node.js**: *Why you should have your own Twitter bot, and how to build one in less than 30 minutes*](https://medium.freecodecamp.org/easily-set-up-your-own-twitter-bot-4aeed5e61f7f) * [**Node.js**: *Why you should have your own Twitter bot, and how to build one in less than 30 minutes*](https://medium.freecodecamp.org/easily-set-up-your-own-twitter-bot-4aeed5e61f7f)
@ -34,7 +38,8 @@
* [**Python**: *Create a Twitter Bot in Python Using Tweepy*](https://medium.freecodecamp.org/creating-a-twitter-bot-in-python-with-tweepy-ac524157a607) * [**Python**: *Create a Twitter Bot in Python Using Tweepy*](https://medium.freecodecamp.org/creating-a-twitter-bot-in-python-with-tweepy-ac524157a607)
* [**R**: *Build A Cryptocurrency Trading Bot with R*](https://towardsdatascience.com/build-a-cryptocurrency-trading-bot-with-r-1445c429e1b1) * [**R**: *Build A Cryptocurrency Trading Bot with R*](https://towardsdatascience.com/build-a-cryptocurrency-trading-bot-with-r-1445c429e1b1)
* Build your own **Database** #### Build your own `Database`
* [**C**: *Let's Build a Simple Database*](https://cstack.github.io/db_tutorial/) * [**C**: *Let's Build a Simple Database*](https://cstack.github.io/db_tutorial/)
* [**C++**: *Implementing a Key-Value Store*](http://codecapsule.com/2012/11/07/ikvs-implementing-a-key-value-store-table-of-contents/) * [**C++**: *Implementing a Key-Value Store*](http://codecapsule.com/2012/11/07/ikvs-implementing-a-key-value-store-table-of-contents/)
* [**C#**: *Build Your Own Database*](https://www.codeproject.com/Articles/1029838/Build-Your-Own-Database) * [**C#**: *Build Your Own Database*](https://www.codeproject.com/Articles/1029838/Build-Your-Own-Database)
@ -42,7 +47,9 @@
* [**JavaScript**: *Dagoba: an in-memory graph database*](http://aosabook.org/en/500L/dagoba-an-in-memory-graph-database.html) * [**JavaScript**: *Dagoba: an in-memory graph database*](http://aosabook.org/en/500L/dagoba-an-in-memory-graph-database.html)
* [**Python**: *DBDB: Dog Bed Database*](http://aosabook.org/en/500L/dbdb-dog-bed-database.html) * [**Python**: *DBDB: Dog Bed Database*](http://aosabook.org/en/500L/dbdb-dog-bed-database.html)
* Build your own **Front-end Framework** / **Library**
#### Build your own `Front-end Framework / Library`
* [**JavaScript**: *A DIY guide to build your own React*](https://github.com/hexacta/didact) * [**JavaScript**: *A DIY guide to build your own React*](https://github.com/hexacta/didact)
* [**JavaScript**: *Reverse Engineering React*](https://vimeo.com/album/3930691) * [**JavaScript**: *Reverse Engineering React*](https://vimeo.com/album/3930691)
* [**JavaScript**: *Building React From Scratch*](https://www.youtube.com/watch?v=_MAD4Oly9yg) [video] * [**JavaScript**: *Building React From Scratch*](https://www.youtube.com/watch?v=_MAD4Oly9yg) [video]
@ -54,14 +61,14 @@
* [**JavaScript**: *Build Your own Simplified AngularJS in 200 Lines of JavaScript*](https://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/) * [**JavaScript**: *Build Your own Simplified AngularJS in 200 Lines of JavaScript*](https://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/)
* [**JavaScript**: *How to write your own Virtual DOM*](https://medium.com/@deathmood/how-to-write-your-own-virtual-dom-ee74acc13060) * [**JavaScript**: *How to write your own Virtual DOM*](https://medium.com/@deathmood/how-to-write-your-own-virtual-dom-ee74acc13060)
* Build your own **Docker** #### Build your own `Docker`
* [**C**: *Linux containers in 500 lines of code*](https://blog.lizzie.io/linux-containers-in-500-loc.html) * [**C**: *Linux containers in 500 lines of code*](https://blog.lizzie.io/linux-containers-in-500-loc.html)
* [**Go**: *Building a container from scratch in Go*](https://www.youtube.com/watch?v=Utf-A4rODH8) [video] * [**Go**: *Building a container from scratch in Go*](https://www.youtube.com/watch?v=Utf-A4rODH8) [video]
* [**Python**: *A workshop on Linux containers: Rebuild Docker from Scratch*](https://github.com/Fewbytes/rubber-docker) * [**Python**: *A workshop on Linux containers: Rebuild Docker from Scratch*](https://github.com/Fewbytes/rubber-docker)
* [**Python**: *A proof-of-concept imitation of Docker, written in 100% Python*](https://github.com/tonybaloney/mocker) * [**Python**: *A proof-of-concept imitation of Docker, written in 100% Python*](https://github.com/tonybaloney/mocker)
* [**Shell**: *Docker implemented in around 100 lines of bash*](https://github.com/p8952/bocker) * [**Shell**: *Docker implemented in around 100 lines of bash*](https://github.com/p8952/bocker)
* Build your own **Game** #### Build your own `Game`
* [**C**: *Handmade Hero*](https://handmadehero.org/) * [**C**: *Handmade Hero*](https://handmadehero.org/)
* [**C**: *How to Program an NES game in C*](https://nesdoug.com/) * [**C**: *How to Program an NES game in C*](https://nesdoug.com/)
* [**C**: *Chess Engine In C*](https://www.youtube.com/playlist?list=PLZ1QII7yudbc-Ky058TEaOstZHVbT-2hg) [video] * [**C**: *Chess Engine In C*](https://www.youtube.com/playlist?list=PLZ1QII7yudbc-Ky058TEaOstZHVbT-2hg) [video]
@ -84,13 +91,13 @@
* [**Ruby**: *Write Yourself a Roguelike*](https://github.com/thoughtbot/write-yourself-a-roguelike) * [**Ruby**: *Write Yourself a Roguelike*](https://github.com/thoughtbot/write-yourself-a-roguelike)
* [**Ruby**: *Developing Games With Ruby*](https://leanpub.com/developing-games-with-ruby/read) * [**Ruby**: *Developing Games With Ruby*](https://leanpub.com/developing-games-with-ruby/read)
* Build your own **Git** #### Build your own `Git`
* [**JavaScript**: *Gitlet*](http://gitlet.maryrosecook.com/docs/gitlet.html) * [**JavaScript**: *Gitlet*](http://gitlet.maryrosecook.com/docs/gitlet.html)
* [**JavaScript**: *Build GIT - Learn GIT*](https://kushagragour.in/blog/2014/01/build-git-learn-git/) * [**JavaScript**: *Build GIT - Learn GIT*](https://kushagragour.in/blog/2014/01/build-git-learn-git/)
* [**Python**: *Just enough of a Git client to create a repo, commit, and push itself to GitHub*](https://benhoyt.com/writings/pygit/) * [**Python**: *Just enough of a Git client to create a repo, commit, and push itself to GitHub*](https://benhoyt.com/writings/pygit/)
* [**Ruby**: *Rebuilding Git in Ruby*](https://robots.thoughtbot.com/rebuilding-git-in-ruby) * [**Ruby**: *Rebuilding Git in Ruby*](https://robots.thoughtbot.com/rebuilding-git-in-ruby)
* Build your own **Neural Network** #### Build your own `Neural Network`
* [**C#**: *Neural Network OCR*](https://www.codeproject.com/Articles/11285/Neural-Network-OCR) * [**C#**: *Neural Network OCR*](https://www.codeproject.com/Articles/11285/Neural-Network-OCR)
* [**Go**: *Build a multilayer perceptron with Golang*](https://made2591.github.io/posts/neuralnetwork) * [**Go**: *Build a multilayer perceptron with Golang*](https://made2591.github.io/posts/neuralnetwork)
* [**Go**: *How to build a simple artificial neural network with Go*](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/) * [**Go**: *How to build a simple artificial neural network with Go*](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/)
@ -102,12 +109,12 @@
* [**JavaScript**: *How to create a Neural Network in JavaScript in only 30 lines of code*](https://medium.freecodecamp.org/how-to-create-a-neural-network-in-javascript-in-only-30-lines-of-code-343dafc50d49) * [**JavaScript**: *How to create a Neural Network in JavaScript in only 30 lines of code*](https://medium.freecodecamp.org/how-to-create-a-neural-network-in-javascript-in-only-30-lines-of-code-343dafc50d49)
* [**Python**: *Optical Character Recognition (OCR)*](http://aosabook.org/en/500L/optical-character-recognition-ocr.html) * [**Python**: *Optical Character Recognition (OCR)*](http://aosabook.org/en/500L/optical-character-recognition-ocr.html)
* Build your own **Network Stack** #### Build your own `Network Stack`
* [**C**: *Beej's Guide to Network Programming*](http://beej.us/guide/bgnet/html/multi/index.html) * [**C**: *Beej's Guide to Network Programming*](http://beej.us/guide/bgnet/html/multi/index.html)
* [**C**: *Let's code a TCP/IP stack*](http://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/) * [**C**: *Let's code a TCP/IP stack*](http://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/)
* [**Ruby**: *How to build a network stack in Ruby*](https://medium.com/geckoboard-under-the-hood/how-to-build-a-network-stack-in-ruby-f73aeb1b661b) * [**Ruby**: *How to build a network stack in Ruby*](https://medium.com/geckoboard-under-the-hood/how-to-build-a-network-stack-in-ruby-f73aeb1b661b)
* Build your own **Operating System** #### Build your own `Operating System`
* [**Assembly**: *Writing a Tiny x86 Bootloader*](http://joebergeron.io/posts/post_two.html) * [**Assembly**: *Writing a Tiny x86 Bootloader*](http://joebergeron.io/posts/post_two.html)
* [**C**: *Operating Systems: From 0 to 1*](https://tuhdo.github.io/os01/) * [**C**: *Operating Systems: From 0 to 1*](https://tuhdo.github.io/os01/)
* [**C**: *The little book about OS development*](https://littleosbook.github.io/) * [**C**: *The little book about OS development*](https://littleosbook.github.io/)
@ -119,7 +126,7 @@
* [**C++**: *Writing a Bootloader*](http://3zanders.co.uk/2017/10/13/writing-a-bootloader/) * [**C++**: *Writing a Bootloader*](http://3zanders.co.uk/2017/10/13/writing-a-bootloader/)
* [**Rust**: *Writing an OS in Rust*](https://os.phil-opp.com/first-edition/) * [**Rust**: *Writing an OS in Rust*](https://os.phil-opp.com/first-edition/)
* Build your own **Programming Language** #### Build your own `Programming Language`
* [**C**: *Crafting interpreters: A handbook for making programming languages*](http://www.craftinginterpreters.com/) * [**C**: *Crafting interpreters: A handbook for making programming languages*](http://www.craftinginterpreters.com/)
* [**C**: *Baby's First Garbage Collector*](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/) * [**C**: *Baby's First Garbage Collector*](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)
* [**C**: *Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code*](http://www.buildyourownlisp.com/) * [**C**: *Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code*](http://www.buildyourownlisp.com/)
@ -138,26 +145,26 @@
* [**Python**: *Simple Iterator-based Parsing*](http://effbot.org/zone/simple-iterator-parser.htm) * [**Python**: *Simple Iterator-based Parsing*](http://effbot.org/zone/simple-iterator-parser.htm)
* [**Python**: *Simple Top-Down Parsing in Python*](http://effbot.org/zone/simple-top-down-parsing.htm) * [**Python**: *Simple Top-Down Parsing in Python*](http://effbot.org/zone/simple-top-down-parsing.htm)
* Build your own **Regex Engine** #### Build your own `Regex Engine`
* [**C**: *A Regular Expression Matcher*](https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html) * [**C**: *A Regular Expression Matcher*](https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html)
* [**C**: *Regular Expression Matching Can Be Simple And Fast*](https://swtch.com/~rsc/regexp/regexp1.html) * [**C**: *Regular Expression Matching Can Be Simple And Fast*](https://swtch.com/~rsc/regexp/regexp1.html)
* [**JavaScript**: *Build a Regex Engine in Less than 40 Lines of Code*](https://nickdrane.com/build-your-own-regex/) * [**JavaScript**: *Build a Regex Engine in Less than 40 Lines of Code*](https://nickdrane.com/build-your-own-regex/)
* [**Perl**: *How Regexes Work*](https://perl.plover.com/Regex/article.html) * [**Perl**: *How Regexes Work*](https://perl.plover.com/Regex/article.html)
* [**Scala**: *No Magic: Regular Expressions*](https://rcoh.svbtle.com/no-magic-regular-expressions) * [**Scala**: *No Magic: Regular Expressions*](https://rcoh.svbtle.com/no-magic-regular-expressions)
* Build your own **Shell** #### Build your own `Shell`
* [**C**: *Tutorial - Write a Shell in C*](https://brennan.io/2015/01/16/write-a-shell-in-c/) * [**C**: *Tutorial - Write a Shell in C*](https://brennan.io/2015/01/16/write-a-shell-in-c/)
* [**C**: *Let's build a shell!*](https://github.com/kamalmarhubi/shell-workshop) * [**C**: *Let's build a shell!*](https://github.com/kamalmarhubi/shell-workshop)
* [**C**: *Writing a UNIX Shell - Part I*](https://indradhanush.github.io/blog/writing-a-unix-shell-part-1/) * [**C**: *Writing a UNIX Shell - Part I*](https://indradhanush.github.io/blog/writing-a-unix-shell-part-1/)
* [**Ruby**: *A Unix Shell in Ruby*](https://www.jstorimer.com/blogs/workingwithcode/7766107-a-unix-shell-in-ruby) * [**Ruby**: *A Unix Shell in Ruby*](https://www.jstorimer.com/blogs/workingwithcode/7766107-a-unix-shell-in-ruby)
* Build your own **Template Engine** #### Build your own `Template Engine`
* [**JavaScript**: *JavaScript template engine in just 20 lines*](http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line) * [**JavaScript**: *JavaScript template engine in just 20 lines*](http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line)
* [**Python**: *Approach: Building a toy template engine in Python*](http://alexmic.net/building-a-template-engine/) * [**Python**: *Approach: Building a toy template engine in Python*](http://alexmic.net/building-a-template-engine/)
* [**Python**: *A Template Engine*](http://aosabook.org/en/500L/a-template-engine.html) * [**Python**: *A Template Engine*](http://aosabook.org/en/500L/a-template-engine.html)
* [**Ruby**: *How to write a template engine in less than 30 lines of code*](http://bits.citrusbyte.com/how-to-write-a-template-library/) * [**Ruby**: *How to write a template engine in less than 30 lines of code*](http://bits.citrusbyte.com/how-to-write-a-template-library/)
* Build your own **Web Server** #### Build your own `Web Server`
* [**C#**: *Writing a Web Server from Scratch*](https://www.codeproject.com/Articles/859108/Writing-a-Web-Server-from-Scratch) * [**C#**: *Writing a Web Server from Scratch*](https://www.codeproject.com/Articles/859108/Writing-a-Web-Server-from-Scratch)
* [**Node.js**: *Let's code a web server from scratch with NodeJS Streams*](https://www.codementor.io/ziad-saab/let-s-code-a-web-server-from-scratch-with-nodejs-streams-h4uc9utji) * [**Node.js**: *Let's code a web server from scratch with NodeJS Streams*](https://www.codementor.io/ziad-saab/let-s-code-a-web-server-from-scratch-with-nodejs-streams-h4uc9utji)
* [**PHP**: *Writing a webserver in pure PHP*](http://station.clancats.com/writing-a-webserver-in-pure-php/) * [**PHP**: *Writing a webserver in pure PHP*](http://station.clancats.com/writing-a-webserver-in-pure-php/)
@ -167,7 +174,7 @@
* [**Python**: *Building a basic HTTP Server from scratch in Python*](http://joaoventura.net/blog/2017/python-webserver/) * [**Python**: *Building a basic HTTP Server from scratch in Python*](http://joaoventura.net/blog/2017/python-webserver/)
* [**Ruby**: *Building a simple websockets server from scratch in Ruby*](http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/) * [**Ruby**: *Building a simple websockets server from scratch in Ruby*](http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/)
* Uncategorized #### Uncategorized
* [**Alloy**: *The Same-Origin Policy*](http://aosabook.org/en/500L/the-same-origin-policy.html) * [**Alloy**: *The Same-Origin Policy*](http://aosabook.org/en/500L/the-same-origin-policy.html)
* [**C**: *Build Your Own Text Editor*](https://viewsourcecode.org/snaptoken/kilo/) * [**C**: *Build Your Own Text Editor*](https://viewsourcecode.org/snaptoken/kilo/)
* [**C**: *How to Write a Video Player in Less Than 1000 Lines*](http://dranger.com/ffmpeg/ffmpeg.html) * [**C**: *How to Write a Video Player in Less Than 1000 Lines*](http://dranger.com/ffmpeg/ffmpeg.html)