Skip to content

Commit 09c5412

Browse files
committed
get rid of numeric file names
1 parent de01238 commit 09c5412

37 files changed

+193
-60
lines changed

_data/getting_started.yml

+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
---
2+
- title: Getting Started
3+
dir: /getting_started/
4+
pages:
5+
- title: Introduction
6+
slug: introduction
7+
8+
- title: Basic types
9+
slug: basic_types
10+
11+
- title: Basic operators
12+
slug: basic_operators
13+
14+
- title: Pattern matching
15+
slug: pattern_matching
16+
17+
- title: case, cond and if
18+
slug: case_cond_and_if
19+
20+
- title: Binaries, strings and char lists
21+
slug: binaries_strings_and_char_lists
22+
23+
- title: Keywords, maps and dicts
24+
slug: maps_and_dicts
25+
26+
- title: Modules
27+
slug: modules
28+
29+
- title: Recursion
30+
slug: recursion
31+
32+
- title: Enumerables and streams
33+
slug: enumerables_and_streams
34+
35+
- title: Processes
36+
slug: processes
37+
38+
- title: IO and the file system
39+
slug: io_and_the_file_system
40+
41+
- title: alias, require and import
42+
slug: alias_require_and_import
43+
44+
- title: Module attributes
45+
slug: module_attributes
46+
47+
- title: Structs
48+
slug: struct
49+
50+
- title: Protocols
51+
slug: protocols
52+
53+
- title: Comprehensions
54+
slug: comprehensions
55+
56+
- title: Sigils
57+
slug: sigils
58+
59+
- title: try, catch and rescue
60+
slug: try_catch_and_rescue
61+
62+
- title: Typespecs and behaviours
63+
slug: typespecs_and_behaviours
64+
65+
- title: Where to go next
66+
slug: where_to_go_next
67+
68+
69+
- title: Mix and OTP
70+
dir: /getting_started/mix_otp/
71+
pages:
72+
- title: Introduction to Mix
73+
slug: introduction_to_mix
74+
75+
- title: Agent
76+
slug: agent
77+
78+
- title: GenServer
79+
slug: genserver
80+
81+
- title: GenEvent
82+
slug: genevent
83+
84+
- title: Supervisor and Application
85+
slug: supervisor_and_application
86+
87+
- title: ETS
88+
slug: ets
89+
90+
- title: Dependencies and umbrella apps
91+
slug: dependencies_and_umbrella_apps
92+
93+
- title: Task and gen_tcp
94+
slug: task_and_gen_tcp
95+
96+
- title: Docs, tests and pipelines
97+
slug: docs_tests_and_pipelines
98+
99+
- title: Distributed tasks and configuration
100+
slug: distributed_tasks_and_configuration
101+
102+
103+
- title: Meta-programming in Elixir
104+
dir: /getting_started/meta/
105+
pages:
106+
- title: Quote and unquote
107+
slug: quote_and_unquote
108+
109+
- title: Macros
110+
slug: macros
111+
112+
- title: Domain Specific Languages
113+
slug: domain_specific_languages

_layouts/getting_started.html

+37-59
Original file line numberDiff line numberDiff line change
@@ -7,55 +7,17 @@
77
<div id="sidebar-primary" class="sidebar">
88
{% include search.html %}
99

10-
<div class="widget">
11-
<h3 class="widget-title">Getting Started</h3>
12-
<ol>
13-
<li><a class="spec" href="/getting_started/1.html">Introduction</a></li>
14-
<li><a class="spec" href="/getting_started/2.html">Basic types</a></li>
15-
<li><a class="spec" href="/getting_started/3.html">Basic operators</a></li>
16-
<li><a class="spec" href="/getting_started/4.html">Pattern matching</a></li>
17-
<li><a class="spec" href="/getting_started/5.html">case, cond and if</a></li>
18-
<li><a class="spec" href="/getting_started/6.html">Binaries, strings and char lists</a></li>
19-
<li><a class="spec" href="/getting_started/7.html">Keywords, maps and dicts</a></li>
20-
<li><a class="spec" href="/getting_started/8.html">Modules</a></li>
21-
<li><a class="spec" href="/getting_started/9.html">Recursion</a></li>
22-
<li><a class="spec" href="/getting_started/10.html">Enumerables and streams</a></li>
23-
<li><a class="spec" href="/getting_started/11.html">Processes</a></li>
24-
<li><a class="spec" href="/getting_started/12.html">IO and the file system</a></li>
25-
<li><a class="spec" href="/getting_started/13.html">alias, require and import</a></li>
26-
<li><a class="spec" href="/getting_started/14.html">Module attributes</a></li>
27-
<li><a class="spec" href="/getting_started/15.html">Structs</a></li>
28-
<li><a class="spec" href="/getting_started/16.html">Protocols</a></li>
29-
<li><a class="spec" href="/getting_started/17.html">Comprehensions</a></li>
30-
<li><a class="spec" href="/getting_started/18.html">Sigils</a></li>
31-
<li><a class="spec" href="/getting_started/19.html">try, catch and rescue</a></li>
32-
<li><a class="spec" href="/getting_started/20.html">Typespecs and behaviours</a></li>
33-
<li><a class="spec" href="/getting_started/21.html">Where to go next</a></li>
34-
</ol>
35-
</div>
36-
<div class="widget">
37-
<h3 class="widget-title">Mix and OTP</h3>
38-
<ol>
39-
<li><a class="spec" href="/getting_started/mix_otp/1.html">Introduction to Mix</a></li>
40-
<li><a class="spec" href="/getting_started/mix_otp/2.html">Agent</a></li>
41-
<li><a class="spec" href="/getting_started/mix_otp/3.html">GenServer</a></li>
42-
<li><a class="spec" href="/getting_started/mix_otp/4.html">GenEvent</a></li>
43-
<li><a class="spec" href="/getting_started/mix_otp/5.html">Supervisor and Application</a></li>
44-
<li><a class="spec" href="/getting_started/mix_otp/6.html">ETS</a></li>
45-
<li><a class="spec" href="/getting_started/mix_otp/7.html">Dependencies and umbrella apps</a></li>
46-
<li><a class="spec" href="/getting_started/mix_otp/8.html">Task and gen_tcp</a></li>
47-
<li><a class="spec" href="/getting_started/mix_otp/9.html">Docs, tests and pipelines</a></li>
48-
<li><a class="spec" href="/getting_started/mix_otp/10.html">Distributed tasks and configuration</a></li>
49-
</ol>
50-
</div>
51-
<div class="widget">
52-
<h3 class="widget-title">Meta-programming in Elixir</h3>
53-
<ol>
54-
<li><a class="spec" href="/getting_started/meta/1.html">Quote and unquote</a></li>
55-
<li><a class="spec" href="/getting_started/meta/2.html">Macros</a></li>
56-
<li><a class="spec" href="/getting_started/meta/3.html">Domain Specific Languages</a></li>
57-
</ol>
58-
</div>
10+
{% assign guides = site.data.getting_started %}
11+
{% for guide in site.data.getting_started %}
12+
<div class="widget">
13+
<h3 class="widget-title">{{guide.title}}</h3>
14+
<ol>
15+
{% for node in guide.pages %}
16+
<li><a class="spec" href="{{guide.dir}}{{node.slug}}.html" title="{{node.title | escape}}">{{node.title}}</a></li>
17+
{% endfor %}
18+
</ol>
19+
</div>
20+
{% endfor %}
5921

6022
{% include learning-resources.html %}
6123
{% include code-editor-support.html %}
@@ -67,17 +29,33 @@ <h3 class="widget-title">Meta-programming in Elixir</h3>
6729
{{ content }}
6830
</article><!-- .hfeed -->
6931

70-
{% if page.guide %}
71-
<div class="pagination loop-pagination">
72-
{% if page.guide > 1 %}
73-
<a href="{{page.guide | minus:1}}.html" class="previous page-numbers spec">&larr; Previous</a>
32+
{% assign url_parts = page.url | split: '/' %}
33+
{% assign url_parts_size = url_parts | size %}
34+
{% assign file_name = url_parts | last %}
35+
{% assign guide_base_url = page.url | replace: file_name %}
36+
{% assign page_slug = file_name | replace: '.html' %}
37+
38+
{% assign guides = site.data.getting_started %}
39+
{% for guide in site.data.getting_started %}
40+
{% if guide.dir == guide_base_url %}
41+
{% for node in guide.pages %}
42+
{% if node.slug == page_slug %}
43+
<div class="pagination loop-pagination">
44+
{% unless forloop.first %}
45+
<a href="{{guide.dir}}{{prev.slug}}.html" class="previous page-numbers spec" title="{{prev.title | escape}}">&larr; Previous</a>
46+
{% endunless %}
47+
<a class="page-numbers spec" href="#container">Top</a>
48+
{% unless forloop.last %}
49+
{% assign next = guide.pages[forloop.index] %}
50+
<a href="{{guide.dir}}{{next.slug}}.html" class="previous page-numbers spec" title="{{next.title | escape}}">Next &rarr;</a>
51+
{% endunless %}
52+
</div>
53+
{% endif %}
54+
{% assign prev = node %}
55+
{% endfor %}
7456
{% endif %}
75-
<a class="page-numbers spec" href="#container">Top</a>
76-
{% unless page.last %}
77-
<a href="{{page.guide | plus:1}}.html" class="next page-numbers spec">Next &rarr;</a>
78-
{% endunless %}
79-
</div>
80-
{% endif %}
57+
{% endfor %}
58+
8159
</div><!-- #content -->
8260

8361
{% include bottom.html %}

_redirects.yml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Getting Started
2+
/getting_started/ : /getting_started/introduction.html
3+
/getting_started/1.html : /getting_started/introduction.html
4+
/getting_started/2.html : /getting_started/basic_types.html
5+
/getting_started/3.html : /getting_started/basic_operators.html
6+
/getting_started/4.html : /getting_started/pattern_matching.html
7+
/getting_started/5.html : /getting_started/case_cond_and_if.html
8+
/getting_started/6.html : /getting_started/binaries_strings_and_char_lists.html
9+
/getting_started/7.html : /getting_started/maps_and_dicts.html
10+
/getting_started/8.html : /getting_started/modules.html
11+
/getting_started/9.html : /getting_started/recursion.html
12+
/getting_started/10.html : /getting_started/enumerables_and_streams.html
13+
/getting_started/11.html : /getting_started/processes.html
14+
/getting_started/12.html : /getting_started/io_and_the_file_system.html
15+
/getting_started/13.html : /getting_started/alias_require_and_import.html
16+
/getting_started/14.html : /getting_started/module_attributes.html
17+
/getting_started/15.html : /getting_started/struct.html
18+
/getting_started/16.html : /getting_started/protocols.html
19+
/getting_started/17.html : /getting_started/comprehensions.html
20+
/getting_started/18.html : /getting_started/sigils.html
21+
/getting_started/19.html : /getting_started/try_catch_and_rescue.html
22+
/getting_started/20.html : /getting_started/typespecs_and_behaviours.html
23+
/getting_started/21.html : /getting_started/where_to_go_next.html
24+
25+
# Mix and OTP
26+
/getting_started/mix_otp/ : /getting_started/mix_otp/introduction_to_mix.html
27+
/getting_started/mix_otp/1.html : /getting_started/mix_otp/introduction_to_mix.html
28+
/getting_started/mix_otp/2.html : /getting_started/mix_otp/agent.html
29+
/getting_started/mix_otp/3.html : /getting_started/mix_otp/genserver.html
30+
/getting_started/mix_otp/4.html : /getting_started/mix_otp/genevent.html
31+
/getting_started/mix_otp/5.html : /getting_started/mix_otp/supervisor_and_application.html
32+
/getting_started/mix_otp/6.html : /getting_started/mix_otp/ets.html
33+
/getting_started/mix_otp/7.html : /getting_started/mix_otp/dependencies_and_umbrella_apps.html
34+
/getting_started/mix_otp/8.html : /getting_started/mix_otp/task_and_gen_tcp.html
35+
/getting_started/mix_otp/9.html : /getting_started/mix_otp/docs_tests_and_pipelines.html
36+
/getting_started/mix_otp/10.html : /getting_started/mix_otp/distributed_tasks_and_configuration.html
37+
38+
# Metra-Programming in Elixir
39+
/getting_started/meta/ : /getting_started/meta/quote_and_unquote.html
40+
/getting_started/meta/1.html : /getting_started/meta/quote_and_unquote.html
41+
/getting_started/meta/2.html : /getting_started/meta/macros.html
42+
/getting_started/meta/3.html : /getting_started/meta/domain_specific_languages.html
File renamed without changes.
File renamed without changes.
File renamed without changes.

getting_started/1.markdown renamed to getting_started/introduction.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
layout: getting_started
3-
title: 1 Introduction
3+
title: Introduction
44
guide: 1
55
---
66

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)