-
Notifications
You must be signed in to change notification settings - Fork 352
Use Hexdocs format in :otp anchors #1908
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Hexdocs format in :otp anchors #1908
Conversation
|
|
||
| assert html =~ | ||
| ~s|-type</span> t() :: <a href=\"https://www.erlang.org/doc/man/erlang.html#type-atom\">atom</a>().| | ||
| ~s|-type</span> t() :: <a href=\"https://www.erlang.org/doc/man/erlang.html#t:atom/0\">atom</a>().| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| assert html =~ | ||
| ~s|-type</span> t2() :: #rec{k1 :: <a href=\"https://www.erlang.org/doc/man/uri_string.html#type-uri_string\">uri_string:uri_string</a>(), k2 :: <a href=\"https://www.erlang.org/doc/man/uri_string.html#type-uri_string\">uri_string:uri_string</a>() \| undefined}.| | ||
| ~s|-type</span> t2() :: #rec{k1 :: <a href=\"https://www.erlang.org/doc/man/uri_string.html#t:uri_string/0\">uri_string:uri_string</a>(), k2 :: <a href=\"https://www.erlang.org/doc/man/uri_string.html#t:uri_string/0\">uri_string:uri_string</a>() \| undefined}.| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we update man links as well or is it OK to rely on www.erlang.org to always perform this redirect?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would say let's go ahead and link to the new page! Especially as I assume it will be less code? But we can do it in a next PR. :)
| test "erlang stdlib function" do | ||
| assert autolink_doc("`:lists.all/2`") == | ||
| ~s|<a href="https://www.erlang.org/doc/man/lists.html#all-2"><code class="inline">:lists.all/2</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/lists.html#all/2"><code class="inline">:lists.all/2</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "erlang callback" do | ||
| assert autolink_doc("`c::gen_server.handle_call/3`") == | ||
| ~s|<a href="https://www.erlang.org/doc/man/gen_server.html#Module:handle_call-3"><code class="inline">:gen_server.handle_call/3</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/gen_server.html#c:handle_call/3"><code class="inline">:gen_server.handle_call/3</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "erlang type" do | ||
| assert autolink_doc("`t::array.array/0`") == | ||
| ~s|<a href="https://www.erlang.org/doc/man/array.html#type-array"><code class="inline">:array.array/0</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/array.html#t:array/0"><code class="inline">:array.array/0</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| assert autolink_doc("[custom text](`:lists.all/2`)") == | ||
| ~s|<a href="https://www.erlang.org/doc/man/lists.html#all-2">custom text</a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/lists.html#all/2">custom text</a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "Erlang stdlib types" do | ||
| assert autolink_spec(quote(do: t() :: :sets.set())) == | ||
| ~s[t() :: <a href="https://www.erlang.org/doc/man/sets.html#type-set">:sets.set</a>()] | ||
| ~s[t() :: <a href="https://www.erlang.org/doc/man/sets.html#t:set/0">:sets.set</a>()] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
The tests in test/ex_doc/language/erlang_test.exs fail. These tests are excluded when I run I'll try to install Erlang with docs and fix/update those tests. |
|
@ruslandoga you should also be able to fix the tests directly and let CI do the job for you. :) |
test/ex_doc/language/erlang_test.exs
Outdated
| test "OTP private type", c do | ||
| assert autolink_spec(~S"-spec foo() -> array:array_indx().", c) == | ||
| ~s|foo() -> <a href="https://www.erlang.org/doc/man/array.html#type-array_indx">array:array_indx</a>().| | ||
| ~s|foo() -> array:array_indx().| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "OTP type", c do | ||
| assert autolink_spec(~S"-spec foo() -> sets:set().", c) == | ||
| ~s|foo() -> <a href="https://www.erlang.org/doc/man/sets.html#type-set">sets:set</a>().| | ||
| ~s|foo() -> <a href="https://www.erlang.org/doc/man/sets.html#t:set/0">sets:set</a>().| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "OTP function", c do | ||
| assert autolink_extra("`lists:reverse/1`", c) == | ||
| ~s|<a href="https://www.erlang.org/doc/man/lists.html#reverse-1"><code class="inline">lists:reverse/1</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/lists.html#reverse/1"><code class="inline">lists:reverse/1</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "linking to auto-imported nil works", c do | ||
| assert autolink_doc("[`[]`](`t:nil/0`)", c) == | ||
| ~s|<a href="https://www.erlang.org/doc/man/erlang.html#type-nil"><code class="inline">[]</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/erlang.html#t:nil/0"><code class="inline">[]</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "type in module autoimport using slash", c do | ||
| assert autolink_doc("`t:integer/0`", c) == | ||
| ~s|<a href="https://www.erlang.org/doc/man/erlang.html#type-integer"><code class="inline">integer/0</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/erlang.html#t:integer/0"><code class="inline">integer/0</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "function in module autoimport using slash", c do | ||
| assert autolink_doc("`node/0`", c) == | ||
| ~s|<a href="https://www.erlang.org/doc/man/erlang.html#node-0"><code class="inline">node/0</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/erlang.html#node/0"><code class="inline">node/0</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "OTP function", c do | ||
| assert autolink_edoc("{@link array:new/0}", c) == | ||
| ~s|<a href="https://www.erlang.org/doc/man/array.html#new-0"><code>array:new/0</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/array.html#new/0"><code>array:new/0</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| test "OTP type", c do | ||
| assert autolink_edoc("{@link array:array()}", c) == | ||
| ~s|<a href="https://www.erlang.org/doc/man/array.html#type-array"><code>array:array()</code></a>| | ||
| ~s|<a href="https://www.erlang.org/doc/man/array.html#t:array/0"><code>array:array()</code></a>| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ~s|record(<a href="https://www.erlang.org/doc/man/erlang.html#type-module">module</a>())| <> | ||
| ~s| -> [[{<a href="https://www.erlang.org/doc/man/erlang.html#type-module">module</a>(),| <> | ||
| ~s| <a href="https://www.erlang.org/doc/man/erlang.html#type-atom">atom</a>()}]].| | ||
| ~s|record(<a href="https://www.erlang.org/doc/man/erlang.html#t:module/0">module</a>())| <> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ~s| <a href="https://www.erlang.org/doc/man/erlang.html#type-atom">atom</a>()}]].| | ||
| ~s|record(<a href="https://www.erlang.org/doc/man/erlang.html#t:module/0">module</a>())| <> | ||
| ~s| -> [[{<a href="https://www.erlang.org/doc/man/erlang.html#t:module/0">module</a>(),| <> | ||
| ~s| <a href="https://www.erlang.org/doc/man/erlang.html#t:atom/0">atom</a>()}]].| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| c | ||
| ) == | ||
| ~S|foo() -> #{<a href="https://www.erlang.org/doc/man/erlang.html#type-atom">atom</a>() := <a href="https://www.erlang.org/doc/man/sets.html#type-set">sets:set</a>(<a href="https://www.erlang.org/doc/man/erlang.html#type-integer">integer</a>()), <a href="https://www.erlang.org/doc/man/erlang.html#type-float">float</a>() => <a href="#t:t/0">t</a>()}.| | ||
| ~S|foo() -> #{<a href="https://www.erlang.org/doc/man/erlang.html#t:atom/0">atom</a>() := <a href="https://www.erlang.org/doc/man/sets.html#t:set/1">sets:set</a>(<a href="https://www.erlang.org/doc/man/erlang.html#t:integer/0">integer</a>()), <a href="https://www.erlang.org/doc/man/erlang.html#t:float/0">float</a>() => <a href="#t:t/0">t</a>()}.| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
💚 💙 💜 💛 ❤️ |
|
Beautiful! Can you also please send a PR that updates from doc/man to doc/apps/APP? Thank you! |
|
The next PR is ready for review: #1909 |
closes #1907