Skip to content

Commit cab5279

Browse files
committed
update links to docs to link to internal page/section
1 parent 29e2915 commit cab5279

34 files changed

+88
-88
lines changed

Diff for: _posts/2013-01-27-elixir-v0-8-0-released.markdown

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ String.capitalize("fiN") #=> "Fin"
3030

3131
The example above contains a string with only two codepoints, [the codepoint fi](http://www.fileformat.info/info/unicode/char/FB01/index.htm) and [the codepoint n](http://www.fileformat.info/info/unicode/char/006E/index.htm). Look how Elixir properly capitalizes the string, returning a new string made of three codepoints (all ascii letters).
3232

33-
Learn more about [Unicode support with the String module](/docs/stable/elixir/String.html).
33+
Learn more about [Unicode support with the String module](/docs/stable/elixir/#!String.html).
3434

3535
## AST metadata
3636

@@ -70,11 +70,11 @@ When some code call the `unless` macro above, in previous Elixir versions, it wo
7070

7171
Elixir v0.8 ensures that the `unless` macro above will expand to the same `if` macro available when quoted, guaranteeing different libraries can integrate easily without imposing hidden requirements.
7272

73-
You can read more about [macros in the getting started guide](/getting-started/case-cond-and-if.html) or [go deep into the quote macro docs](/docs/stable/elixir/Kernel.SpecialForms.html#quote/2).
73+
You can read more about [macros in the getting started guide](/getting-started/case-cond-and-if.html) or [go deep into the quote macro docs](/docs/stable/elixir/#!Kernel.SpecialForms.html#quote/2).
7474

7575
## A new way to manipulate pathnames
7676

77-
Elixir v0.8 contains a bit of house cleaning too. We have created [the Path module](/docs/stable/elixir/Path.html) to accommodate functions used to manipulate filesystem paths and have also added functions like [`System.tmp_dir` and `System.user_home`](/docs/stable/elixir/System.html) which are meant to work accross different operating systems and are very handy when scripting.
77+
Elixir v0.8 contains a bit of house cleaning too. We have created [the Path module](/docs/stable/elixir/#!Path.html) to accommodate functions used to manipulate filesystem paths and have also added functions like [`System.tmp_dir` and `System.user_home`](/docs/stable/elixir/#!System.html) which are meant to work accross different operating systems and are very handy when scripting.
7878

7979
## The new HashDict
8080

Diff for: _posts/2013-04-29-elixir-v0-8-2-released.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,6 @@ defmodule MathTest do
4444
end
4545
```
4646

47-
You can learn more about [doctests on our documentation page](/docs/stable/ex_unit/ExUnit.DocTest.html) and get more information about our latest release [on the CHANGELOG](https://github.com/elixir-lang/elixir/blob/ed27611f48ba150404c95fe15f1d6058a4287330/CHANGELOG.md).
47+
You can learn more about [doctests on our documentation page](/docs/stable/ex_unit/#!ExUnit.DocTest.html) and get more information about our latest release [on the CHANGELOG](https://github.com/elixir-lang/elixir/blob/ed27611f48ba150404c95fe15f1d6058a4287330/CHANGELOG.md).
4848

4949
If you are new to Elixir, [it's easy to get started with](/getting-started/introduction.html)!

Diff for: _posts/2013-05-23-elixir-v0-9-0-released.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ A special thanks to [Eric Meadows-Jonsson](https://github.com/ericmj) for implem
123123
We have also many other smaller improvements:
124124

125125
* Our CLI now supports `--hidden` and `--cookie` flags which are useful for distributed modes;
126-
* Our test framework, ExUnit, is now able to capture all the communication that happens with a registed IO device, like `:stdio` and `:stderr`, via [`ExUnit.CaptureIO`](/docs/stable/ex_unit/ExUnit.CaptureIO.html). This is very useful for testing how your software reacts to some inputs and what it prints to the terminal;
126+
* Our test framework, ExUnit, is now able to capture all the communication that happens with a registed IO device, like `:stdio` and `:stderr`, via [`ExUnit.CaptureIO`](/docs/stable/ex_unit/#!ExUnit.CaptureIO.html). This is very useful for testing how your software reacts to some inputs and what it prints to the terminal;
127127
* `IEx` now allows files to be imported into the shell with `import_file` and also loads `~/.iex` on startup for custom configuration;
128128
* The `String`, `Enum` and `Dict` modules got more convenience functions that goes from checking unicode character validity to taking values out of a dictionary;
129129
* And many, many more!

Diff for: _posts/2013-07-13-elixir-v0-10-0-released.markdown

+4-4
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,19 @@ Stream.repeatedly(fn -> :random.uniform end) |> Enum.take(3)
5454
#=> [0.4435846174457203, 0.7230402056221108, 0.94581636451987]
5555
```
5656

57-
`Stream.repeatedly/1` returns an infinite stream but that's ok we just need its first three elements. You can learn more about [stream and related functions in `Stream` module documentation](/docs/stable/elixir/Stream.html).
57+
`Stream.repeatedly/1` returns an infinite stream but that's ok we just need its first three elements. You can learn more about [stream and related functions in `Stream` module documentation](/docs/stable/elixir/#!Stream.html).
5858

5959
## Sets
6060

61-
This release also adds [the Sets API](/docs/stable/elixir/Set.html) to Elixir and a HashSet implementation. The HashSet implementation follows [the same design goals as the HashDict implementation](/blog/2013/01/27/elixir-v0-8-0-released/) released at the beginning of this year, starting with a compact representation and expanding and contracting as needed.
61+
This release also adds [the Sets API](/docs/stable/elixir/#!Set.html) to Elixir and a HashSet implementation. The HashSet implementation follows [the same design goals as the HashDict implementation](/blog/2013/01/27/elixir-v0-8-0-released/) released at the beginning of this year, starting with a compact representation and expanding and contracting as needed.
6262

6363
This feature was a contribution from [Joseph Wilk](https://github.com/josephwilk) and he talks about its implementation and provides some benchmarks [on his blog](http://blog.josephwilk.net/elixir/sets-in-elixir.html).
6464

6565
## Pretty printing
6666

6767
Another addition to this release is pretty printing. The pretty printing started as an implementation of the [Wadler paper](http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf) by [Jonns Mostovoys](https://github.com/manpages) which was then improved by [Gustavo Brunoro](https://github.com/brunoro) under his Google Summer of Code project as described in [Lindig's _Strictly Prettier_ paper](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.2200).
6868

69-
As soon as you upgrade to Elixir v0.10.0 and start IEx, you will get pretty printing for all data structures provided by Elixir. We have also added documentation to the `Inspect` module about [adding pretty printing to your own structures](/docs/stable/elixir/Inspect.html) as well as [using the document algebra for any other kind of formatting](/docs/stable/elixir/Inspect.Algebra.html).
69+
As soon as you upgrade to Elixir v0.10.0 and start IEx, you will get pretty printing for all data structures provided by Elixir. We have also added documentation to the `Inspect` module about [adding pretty printing to your own structures](/docs/stable/elixir/#!Inspect.html) as well as [using the document algebra for any other kind of formatting](/docs/stable/elixir/#!Inspect.Algebra.html).
7070

7171
## Other improvements
7272

@@ -78,7 +78,7 @@ Other notable improvements are:
7878

7979
* We are also working hard on Windows support, improving its command-line tools and working towards a green test suite, thanks to [Tom Jansens](https://github.com/tojans);
8080

81-
* Meta-programming in Elixir was also improved by the addition of the `binding/0` and `binding/1` macros plus the additions of `Macro.expand_once/2` and `Macro.expand_all/2` to the [`Macro` module](/docs/stable/elixir/Macro.html);
81+
* Meta-programming in Elixir was also improved by the addition of the `binding/0` and `binding/1` macros plus the additions of `Macro.expand_once/2` and `Macro.expand_all/2` to the [`Macro` module](/docs/stable/elixir/#!Macro.html);
8282

8383
There are also improvements to typespecs, error messages, many bug fixes and some backwards incompatible changes. We have posted a detailed [upgrade instructions on the mailing list](https://groups.google.com/forum/?fromgroups#!topic/elixir-lang-talk/ksrefrgK1eY). For a general overview, [check out the CHANGELOG](https://github.com/elixir-lang/elixir/blob/v0.10.0/CHANGELOG.md).
8484

Diff for: _posts/2013-08-08-elixir-design-goals.markdown

+2-2
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,9 @@ Enum.map set, fn(x) -> x * 2 end
202202
#=> [2,4,6]
203203
```
204204

205-
Not only that, any developer can **extend** the `Enum` module to work with any data type as long as the data type implements [the `Enumerable` protocol](/docs/stable/elixir/Enumerable.html) (protocols in Elixir are based on Clojure's protocol). This is extremely convenient because the developer needs to know only the `Enum` API for enumeration, instead of memorizing specific APIs for sets, lists, dicts, etc.
205+
Not only that, any developer can **extend** the `Enum` module to work with any data type as long as the data type implements [the `Enumerable` protocol](/docs/stable/elixir/#!Enumerable.html) (protocols in Elixir are based on Clojure's protocol). This is extremely convenient because the developer needs to know only the `Enum` API for enumeration, instead of memorizing specific APIs for sets, lists, dicts, etc.
206206

207-
There are many other protocols exposed by the language, like [the `Inspect` protocol](/docs/stable/elixir/Inspect.html) for pretty printing data structures and [the `Access` protocol](/docs/stable/elixir/Access.html) for accessing key-value data by key. By being extensible, Elixir ensures developers can work **with** the language, instead of **against** the language.
207+
There are many other protocols exposed by the language, like [the `Inspect` protocol](/docs/stable/elixir/#!Inspect.html) for pretty printing data structures and [the `Access` protocol](/docs/stable/elixir/#!Access.html) for accessing key-value data by key. By being extensible, Elixir ensures developers can work **with** the language, instead of **against** the language.
208208

209209
## Summing up
210210

Diff for: _posts/2013-11-05-elixir-v0-11-0-released.markdown

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ In this new release, IEx also supports a very simple debugging mechanism called
2222

2323
![IEx pry example](/images/contents/iex-pry.png)
2424

25-
In Elixir, your code runs in many processes that talk to each other and the Elixir shell is no different. `IEx.pry` allows another process to take over the shell, allowing the developer to inspect the binding and halt the execution of the process being "pried" (i.e. the one that invoked `IEx.pry`). We called this feature `pry` as a gentle reminder that you can only inspect existing information, you cannot change the binding over a pried process. For more information, check the docs for [`IEx.pry/1`](/docs/stable/iex/IEx.html#pry/1).
25+
In Elixir, your code runs in many processes that talk to each other and the Elixir shell is no different. `IEx.pry` allows another process to take over the shell, allowing the developer to inspect the binding and halt the execution of the process being "pried" (i.e. the one that invoked `IEx.pry`). We called this feature `pry` as a gentle reminder that you can only inspect existing information, you cannot change the binding over a pried process. For more information, check the docs for [`IEx.pry/1`](/docs/stable/iex/#!IEx.html#pry/1).
2626

2727
## ExUnit
2828

@@ -59,9 +59,9 @@ fun.(1..3)
5959
#=> true
6060
```
6161

62-
You can learn more about the [new capture operator in our docs](/docs/stable/elixir/Kernel.SpecialForms.html#&/1).
62+
You can learn more about the [new capture operator in our docs](/docs/stable/elixir/#!Kernel.SpecialForms.html#&/1).
6363

64-
We have also pushed improvements to [the String module](/docs/stable/elixir/String.html), including new APIs. In particular, in order to know that `String.length("josé")` has length 4 (even though it takes 5 bytes to be represented in UTF-8), we need to use some algorithms defined by the Unicode Standard. These have been implemented as specified in the [extended grapheme cluster algorithm, defined in the version 6.3.0 of the Unicode Standard](http://www.unicode.org/reports/tr29/).
64+
We have also pushed improvements to [the String module](/docs/stable/elixir/#!String.html), including new APIs. In particular, in order to know that `String.length("josé")` has length 4 (even though it takes 5 bytes to be represented in UTF-8), we need to use some algorithms defined by the Unicode Standard. These have been implemented as specified in the [extended grapheme cluster algorithm, defined in the version 6.3.0 of the Unicode Standard](http://www.unicode.org/reports/tr29/).
6565

6666
In the optimization front, we have pushed the first iteration of a [feature called Protocol consolidation](https://groups.google.com/forum/#!topic/elixir-lang-core/RoXAUtoyjk4), which speeds up the polymorphic dispatch done by protocols, sometimes reducing the dispatching time to 10% of the original time. We will continue working in upcoming releases to integrate protocol consolidation as a regular part of the developer workflow.
6767

Diff for: _posts/2014-04-21-elixir-v0-13-0-released.markdown

+6-6
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ In a nutshell, here is what new:
3030

3131
* The [Getting Started guide](/getting-started/introduction.html) was rewritten from scratch. The previous guide was comprised of 7 chapters and was about to become 2 years old. The new guide features 20 chapters, it explores the new maps and structs (which are part of this release), and it goes deeper into topics like IO and File handling. It also includes an extra guide, still in development, about [Meta-Programming in Elixir](/getting-started/meta/quote-and-unquote.html);
3232

33-
* Elixir v0.13 provides a new comprehension syntax that not only works with lists, but with any [`Enumerable`](/docs/stable/elixir/Enumerable.html). The output of a comprehension is also extensible via the [`Collectable`](/docs/stable/elixir/Collectable.html) protocol;
33+
* Elixir v0.13 provides a new comprehension syntax that not only works with lists, but with any [`Enumerable`](/docs/stable/elixir/#!Enumerable.html). The output of a comprehension is also extensible via the [`Collectable`](/docs/stable/elixir/#!Collectable.html) protocol;
3434

3535
* Mix, Elixir's build tool, has been improved in order to provide better workflows when compiling projects and working with dependencies;
3636

37-
* There are many other changes, like the addition of [StringIO](/docs/stable/elixir/StringIO.html), support for [tags and filters in ExUnit](/docs/stable/ex_unit/ExUnit.Case.html) and more. Please check the [CHANGELOG](https://github.com/elixir-lang/elixir/blob/v0.13.0/CHANGELOG.md) for the complete list.
37+
* There are many other changes, like the addition of [StringIO](/docs/stable/elixir/#!StringIO.html), support for [tags and filters in ExUnit](/docs/stable/ex_unit/#!ExUnit.Case.html) and more. Please check the [CHANGELOG](https://github.com/elixir-lang/elixir/blob/v0.13.0/CHANGELOG.md) for the complete list.
3838

3939
Even with all those improvements, Elixir v0.13.0 is backwards compatible with Elixir v0.12.5 and upgrading should be a clean process.
4040

@@ -68,7 +68,7 @@ iex> %{"other" => value} = map
6868

6969
A map pattern will match any map that has all the keys specified in the pattern. The values for the matching keys must also match. For example, `%{"hello" => world}` will match any map that has the key `"hello"` and assign the value to `world`, while `%{"hello" => "world"}` will match any map that has the key `"hello"` with value equals to `"world"`. An empty map pattern (`%{}`) will match all maps.
7070

71-
Developers can use the functions in the [`Map` module](/docs/stable/elixir/Map.html) to work with maps. For more information on maps and how they compare to other associative data structures in the language, please check the [Maps chapter in our new Getting Started guide](/getting-started/maps-and-dicts.html). Elixir Sips has also released two episodes that cover maps ([part 1](http://elixirsips.com/episodes/054_maps_part_1.html) and [part 2](http://elixirsips.com/episodes/055_maps_part_2.html)).
71+
Developers can use the functions in the [`Map` module](/docs/stable/elixir/#!Map.html) to work with maps. For more information on maps and how they compare to other associative data structures in the language, please check the [Maps chapter in our new Getting Started guide](/getting-started/maps-and-dicts.html). Elixir Sips has also released two episodes that cover maps ([part 1](http://elixirsips.com/episodes/054_maps_part_1.html) and [part 2](http://elixirsips.com/episodes/055_maps_part_2.html)).
7272

7373
Maps also provide special syntax for creating, accessing and updating maps with atom keys:
7474

@@ -185,7 +185,7 @@ For more information on structs, check out the [Structs chapter in the getting s
185185

186186
With the introduction of maps and structs, some deprecations will arrive on upcoming releases. First of all, the `ListDict` data structure is being deprecated and phased out. Records are also being deprecated from the language, although it is going to be a longer process, as many projects and Elixir itself still use records in diverse occasions.
187187

188-
Note though only Elixir records are being deprecated. Erlang records, which are basically syntax sugar around tuples, will remain in the language for the rare cases Elixir developers need to interact with Erlang libraries that provide records. In particular, the [Record](/docs/stable/elixir/Record.html) has been updated to provide the new Record API (while keeping the old one for backwards compatibility).
188+
Note though only Elixir records are being deprecated. Erlang records, which are basically syntax sugar around tuples, will remain in the language for the rare cases Elixir developers need to interact with Erlang libraries that provide records. In particular, the [Record](/docs/stable/elixir/#!Record.html) has been updated to provide the new Record API (while keeping the old one for backwards compatibility).
189189

190190
Finally, structs are still in active development and new features, like `@derive`, should land in upcoming Elixir releases. For those interested, the [original maps and structs proposal is still availble](https://gist.github.com/josevalim/b30c881df36801611d13).
191191

@@ -222,7 +222,7 @@ iex> for <<c <- " hello world ">>, c != ?\s, into: "", do: <<c>>
222222
"helloworld"
223223
```
224224

225-
Sets, maps and other dictionaries can also be given with the `:into` option. In general, the `:into` accepts any structure as long as it implements the [`Collectable` protocol](/docs/stable/elixir/Collectable.html).
225+
Sets, maps and other dictionaries can also be given with the `:into` option. In general, the `:into` accepts any structure as long as it implements the [`Collectable` protocol](/docs/stable/elixir/#!Collectable.html).
226226

227227
For example, the `IO` module provides streams, that are both `Enumerable` and `Collectable`. You can implement an echo terminal that returns whatever is typed into the shell, but in upcase, using comprehensions:
228228

@@ -275,7 +275,7 @@ That said, in the next months we plan to:
275275

276276
* Integrate applications configuration (provided by OTP) right into Mix;
277277
* Provide an Elixir logger that knows how to print and format Elixir exceptions and stacktraces;
278-
* Properly expose the functionality provided by Applications, Supervisors, GenServers and GenEvents and study how they can integrate with Elixir. For example, how to consume events from GenEvent as a [stream of data](/docs/stable/elixir/Stream.html)?
278+
* Properly expose the functionality provided by Applications, Supervisors, GenServers and GenEvents and study how they can integrate with Elixir. For example, how to consume events from GenEvent as a [stream of data](/docs/stable/elixir/#!Stream.html)?
279279
* Study how patterns like tasks and agents can be integrated into the language, often picking up the lessons learned by libraries like [e2](http://e2project.org/erlang.html) and [functionality exposed by OTP itself](http://erlang.org/doc/man/rpc.html);
280280
* Rewrite the Mix and ExUnit guides to focus on applications and OTP as a whole, rebranding it to "Building Apps with Mix and OTP";
281281

0 commit comments

Comments
 (0)