Skip to content

Commit ee78236

Browse files
committed
Add TOC to install and learning sections
1 parent b927e39 commit ee78236

File tree

2 files changed

+63
-59
lines changed

2 files changed

+63
-59
lines changed

install.markdown

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ layout: default
77

88
# Install
99

10+
{% include toc.html %}
11+
1012
The quickest way to install Elixir is through a distribution or using one of the available installers. If not available, then we recommend the precompiled packages or compiling it.
1113

1214
Note that Elixir {{ stable.name }} requires Erlang {{ stable.minimum_otp }} or later. Many of the instructions below will automatically install Erlang for you. In case they do not, read the "Installing Erlang" section below.

learning.markdown

+61-59
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ layout: default
66

77
# Learning
88

9+
{% include toc.html %}
10+
911
Our website provides a [Getting Started guide](/getting-started/introduction.html) to learn more about Elixir's foundations and explore how to build projects with [Mix and OTP](/getting-started/mix-otp/introduction-to-mix.html). Elixir also includes [extensive API documentation](/docs.html). If you already know Erlang and you want to know Elixir (or vice-versa), check out our [Crash Course for Erlang developers](/crash-course.html).
1012

1113
Outside of our website, the Elixir Community has also produced plenty of resources to explore Elixir from different backgrounds and other perspectives. We are sure you will find a resource that suits your pace and goals.
@@ -90,6 +92,42 @@ If you're a new Elixir developer who's gone through some basic Elixir tutorials
9092

9193
<div class="clear"></div>
9294

95+
## In-depth books
96+
97+
<h4 class="resource">Metaprogramming Elixir</h4>
98+
99+
<a class="cover" href="https://pragprog.com/book/cmelixir/metaprogramming-elixir" title="Metaprogramming Elixir: Write Less Code, Get More Done and Have Fun
100+
– by Chris Mccord"><img src="/images/learning/metaprogramming-elixir.jpg" alt="Metaprogramming Elixir cover" width="190" /></a>
101+
102+
Write code that writes code with Elixir macros. Macros make metaprogramming possible and define the language itself. In this book, you'll learn how to use macros to extend the language with fast, maintainable code and share functionality in ways you never thought possible. You'll discover how to extend Elixir with your own first-class features, optimize performance, and create domain-specific languages.
103+
104+
<div class="clear"></div>
105+
106+
<h4 class="resource">Designing Elixir Systems with OTP</h4>
107+
108+
<a class="cover" href="https://pragprog.com/book/jgotp/designing-elixir-systems-with-otp" title="Designing Elixir Systems with OTP: Write Highly Scalable, Self-Healing Software with Layers
109+
– by James Edward Gray, II and Bruce A. Tate"><img src="/images/learning/designing-elixir-systems.jpg" alt="Designing Elixir Systems with OTP cover" width="190" /></a>
110+
111+
You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that's kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what's happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus.
112+
113+
<div class="clear"></div>
114+
115+
<h4 class="resource">Concurrent Data Processing in Elixir</h4>
116+
117+
<a class="cover" href="https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir" title="Concurrent Data Processing in Elixir – by Svilen Gospodinov"><img src="/images/learning/concurrent-data-processing.jpg" alt="Concurrent Data Processing cover" width="190" /></a>
118+
119+
Learn different ways of writing concurrent code in Elixir and increase your application’s performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that’s not only fast, but also resilient to errors and easy to scale.
120+
121+
<div class="clear"></div>
122+
123+
<h4 class="resource">Erlang in Anger</h4>
124+
125+
<a class="cover" href="http://www.erlang-in-anger.com" title="Erlang in Anger – by Fred Hebert"><img src="/images/learning/erlang-in-anger.png" alt="Erlang in Anger cover" width="190" /></a>
126+
127+
This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.
128+
129+
<div class="clear"></div>
130+
93131
## Courses
94132

95133
<h4 class="resource">Pragmatic Studio's Elixir/OTP Course</h4>
@@ -136,50 +174,6 @@ The course covers getting setup with Elixir, the data types, how to pattern matc
136174

137175
<div class="clear"></div>
138176

139-
## Other Resources
140-
141-
<h4 class="resource">Elixir Flashcards</h4>
142-
143-
<a class="cover" href="https://elixircards.co.uk/" title="Elixir Flashcards"><img src="/images/learning/flashcards_army.jpg" alt="Elixir Flashcards" width="190" /></a>
144-
145-
Elixir flashcards are a set of beautifully crafted, professionally printed, poker sized flashcards to help you master the Elixir language.
146-
147-
Flashcards are a great way to highlight knowledge gaps, identify misconceptions or false beliefs, and help you memorise key concepts.
148-
When used in groups or teams, flashcards can help spark interesting discussions, and help bring people together to learn in a fun way by playing games.
149-
150-
Combined with books, tutorials and screencasts, using flashcards is the killer combination to master Elixir.
151-
152-
<div class="clear"></div>
153-
154-
<h4 class="resource">Elixir Koans</h4>
155-
156-
<a class="cover" href="http://elixirkoans.io/" title="Elixir Koans"><img src="/images/learning/elixir-koans-logo.png" alt="Elixir Koans" width="190" /></a>
157-
158-
Elixir koans is a fun, easy way to get started with the Elixir programming language. It is an idiomatic tour of the language.
159-
160-
<div class="clear"></div>
161-
162-
<h4 class="resource">Exercism.io</h4>
163-
164-
<a class="cover" href="https://exercism.io/tracks/elixir" title="Elixir Track on Exercism.io"> <img src="https://assets.exercism.io/tracks/elixir-bordered-turquoise.png" alt="Exercism.io Elixir track" width="190" /></a>
165-
166-
Exercism.io is an open source platform that provides free practice and mentoring in many languages, including Elixir.
167-
It features exercises of varying difficulty, from string processing to using OTP, that are mentored by volunteers.
168-
Once you have completed an exercise you can also view other students' solutions.
169-
170-
<div class="clear"></div>
171-
172-
<h4 class="resource">Running in Production Podcast</h4>
173-
174-
<a class="cover" href="https://runninginproduction.com/tags/elixir" title="Running in Production Podcast"><img src="/images/learning/running-in-production-logo.jpg" alt="Running in Production Podcast" width="190" /></a>
175-
176-
Running in Production is a podcast where developers and engineers talk about
177-
running small and large Elixir / Phoenix web apps in production.
178-
179-
Topics include tech stacks, success stories, lessons learned and deployment tips.
180-
181-
<div class="clear"></div>
182-
183177
## Screencasts
184178

185179
<h4 class="resource">LearnElixir.tv</h4>
@@ -216,38 +210,46 @@ Alchemist Camp is aimed at people who have some web development experience and w
216210

217211
<div class="clear"></div>
218212

219-
## In-depth Resources
213+
## Other resources
220214

221-
<h4 class="resource">Metaprogramming Elixir</h4>
215+
<h4 class="resource">Elixir Flashcards</h4>
222216

223-
<a class="cover" href="https://pragprog.com/book/cmelixir/metaprogramming-elixir" title="Metaprogramming Elixir: Write Less Code, Get More Done and Have Fun
224-
– by Chris Mccord"><img src="/images/learning/metaprogramming-elixir.jpg" alt="Metaprogramming Elixir cover" width="190" /></a>
217+
<a class="cover" href="https://elixircards.co.uk/" title="Elixir Flashcards"><img src="/images/learning/flashcards_army.jpg" alt="Elixir Flashcards" width="190" /></a>
225218

226-
Write code that writes code with Elixir macros. Macros make metaprogramming possible and define the language itself. In this book, you'll learn how to use macros to extend the language with fast, maintainable code and share functionality in ways you never thought possible. You'll discover how to extend Elixir with your own first-class features, optimize performance, and create domain-specific languages.
219+
Elixir flashcards are a set of beautifully crafted, professionally printed, poker sized flashcards to help you master the Elixir language.
220+
221+
Flashcards are a great way to highlight knowledge gaps, identify misconceptions or false beliefs, and help you memorise key concepts.
222+
When used in groups or teams, flashcards can help spark interesting discussions, and help bring people together to learn in a fun way by playing games.
223+
224+
Combined with books, tutorials and screencasts, using flashcards is the killer combination to master Elixir.
227225

228226
<div class="clear"></div>
229227

230-
<h4 class="resource">Designing Elixir Systems with OTP</h4>
228+
<h4 class="resource">Elixir Koans</h4>
231229

232-
<a class="cover" href="https://pragprog.com/book/jgotp/designing-elixir-systems-with-otp" title="Designing Elixir Systems with OTP: Write Highly Scalable, Self-Healing Software with Layers
233-
– by James Edward Gray, II and Bruce A. Tate"><img src="/images/learning/designing-elixir-systems.jpg" alt="Designing Elixir Systems with OTP cover" width="190" /></a>
230+
<a class="cover" href="http://elixirkoans.io/" title="Elixir Koans"><img src="/images/learning/elixir-koans-logo.png" alt="Elixir Koans" width="190" /></a>
234231

235-
You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that's kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what's happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus.
232+
Elixir koans is a fun, easy way to get started with the Elixir programming language. It is an idiomatic tour of the language.
236233

237234
<div class="clear"></div>
238235

239-
<h4 class="resource">Concurrent Data Processing in Elixir</h4>
236+
<h4 class="resource">Exercism.io</h4>
240237

241-
<a class="cover" href="https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir" title="Concurrent Data Processing in Elixir – by Svilen Gospodinov"><img src="/images/learning/concurrent-data-processing.jpg" alt="Concurrent Data Processing cover" width="190" /></a>
238+
<a class="cover" href="https://exercism.io/tracks/elixir" title="Elixir Track on Exercism.io"> <img src="https://assets.exercism.io/tracks/elixir-bordered-turquoise.png" alt="Exercism.io Elixir track" width="190" /></a>
242239

243-
Learn different ways of writing concurrent code in Elixir and increase your application’s performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that’s not only fast, but also resilient to errors and easy to scale.
240+
Exercism.io is an open source platform that provides free practice and mentoring in many languages, including Elixir.
241+
It features exercises of varying difficulty, from string processing to using OTP, that are mentored by volunteers.
242+
Once you have completed an exercise you can also view other students' solutions.
244243

245244
<div class="clear"></div>
246245

247-
<h4 class="resource">Erlang in Anger</h4>
246+
<h4 class="resource">Running in Production Podcast</h4>
248247

249-
<a class="cover" href="http://www.erlang-in-anger.com" title="Erlang in Anger – by Fred Hebert"><img src="/images/learning/erlang-in-anger.png" alt="Erlang in Anger cover" width="190" /></a>
248+
<a class="cover" href="https://runninginproduction.com/tags/elixir" title="Running in Production Podcast"><img src="/images/learning/running-in-production-logo.jpg" alt="Running in Production Podcast" width="190" /></a>
250249

251-
This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.
250+
Running in Production is a podcast where developers and engineers talk about
251+
running small and large Elixir / Phoenix web apps in production.
252+
253+
Topics include tech stacks, success stories, lessons learned and deployment tips.
252254

253255
<div class="clear"></div>

0 commit comments

Comments
 (0)