diff options
| author | Jonas Smedegaard <dr@jones.dk> | 2025-02-18 18:31:05 +0100 |
|---|---|---|
| committer | Jonas Smedegaard <dr@jones.dk> | 2025-02-18 18:31:05 +0100 |
| commit | e2e7c787692628b417060f37b6a2e086e415c086 (patch) | |
| tree | 82bc2781808dcc54615f91f77fd79ba8684a4b90 | |
| parent | fd7c7ebc4d9b566339801ae65a2607223d4cf5b9 (diff) | |
describe markdown adoption for code docstrings
| -rw-r--r-- | _markdown.qmd | 39 | ||||
| -rw-r--r-- | ref.bib | 104 |
2 files changed, 138 insertions, 5 deletions
diff --git a/_markdown.qmd b/_markdown.qmd index c92e910..639cf3a 100644 --- a/_markdown.qmd +++ b/_markdown.qmd @@ -1,18 +1,47 @@ -An authoring style that has grown popular, -especially among some programmers, -is to write in a format called Markdown, -and then compile the final document. +Markdown is a text markup language +with an emphasis on being easy for humans to read +[@Gruber2004]. Compared to word processors like Microsoft Word and LibreOffice Writer, Markdown authoring stores both content and markup together in a human-readable tekst file. +::: {#fig-formality} + +``` +informal /---------formatted text----------\ formal +<------v-------------v-------------v-----------------------v----> + plain text informal markup formal markup binary format + (Markdown) (HTML, XML, etc.) +``` + +Markdown is informal, ASCII-based markup +[@Leonard2016, p. 4] + +::: + HTML is itself a plaintext format, but is less human-readable. Similarly the format LaTeX is also plaintext, but its markdown arguably distracts the reading process [@Mailund2019chap2, p. 9]. +## Alternatives + Other human-readable document source formats exists. -FIXME Org-mode. + +FIXME reStructuredText. +FIXME Org-mode. FIXME AsciiDoc. + +## Integration + +Markdown is in widespread use. + +Major source forges use Markdown by default for `README` files +[@Github2025; @GitLab2025; @Codeberg2024]. +Some major programming languages +natively support Markdown in embedded docstrings +[@Microsoft2023; @Oracle2025; @RustTeam2024]; +others offer optional support +[@Heesch2025; @Sphinx2025; @JSDoc2023]. @@ -42,6 +42,110 @@ file = {:Mailund2019book - Introducing Markdown and Pandoc_ Using Markup Language and Document Converter.pdf:PDF}, } +@Book{Leonard2016mime, + author = {Sean Leonard}, + date = {2016-03}, + title = {The text/markdown Media Type}, + doi = {10.17487/rfc7763}, + institution = {Internet Engineering Task Force}, +} + +@Electronic{Gruber2004, + author = {John Gruber}, + date = {2004-12-17}, + title = {Markdown}, + url = {https://daringfireball.net/projects/markdown/}, + urldate = {2025-02-18}, +} + +@Book{Leonard2016, + author = {Sean Leonard}, + date = {2016-03}, + title = {Guidance on Markdown: Design Philosophies, Stability Strategies, and Select Registrations}, + doi = {10.17487/rfc7764}, + institution = {Internet Engineering Task Force}, +} + +@Electronic{Heesch2025, + author = {Dimitri van Heesch}, + date = {2025-01-09}, + title = {Doxygen}, + url = {https://doxygen.nl/manual/markdown.html}, + subtitle = {Markdown support}, + urldate = {2025-02-18}, +} + +@Electronic{Github2025, + date = {2025-02-18}, + editor = {{Github, Inc.}}, + url = {https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes}, + organization = {GitHub, Inc.}, + urldate = {2025-02-18}, +} + +@Electronic{GitLab2025, + author = {{GitLab Inc.}}, + date = {2025-02-17}, + title = {GitLab Flavored Markdown (GLFM)}, + url = {https://docs.gitlab.com/user/markdown/}, + organization = {GitLab Inc.}, + urldate = {2025-02-18}, +} + +@Electronic{Codeberg2024, + author = {{Codeberg Docs Contributors}}, + date = {2024-11-29}, + title = {Your First Repository}, + url = {https://docs.codeberg.org/getting-started/first-repository/}, + subtitle = {Codeberg Documentation}, + urldate = {2025-02-18}, +} + +@Electronic{Oracle2025, + author = {{Oracle}}, + date = {2025-01-25}, + title = {JavaDoc Guide}, + url = {https://docs.oracle.com/en/java/javase/23/javadoc/using-markdown-documentation-comments.html#GUID-27E3BB65-BF86-4F8A-9C6C-A864682BEA84}, + subtitle = {Markdown in Documentation Comments}, + urldate = {2025-02-18}, +} + +@Electronic{RustTeam2024, + author = {{the Rust Team}}, + date = {2024-04-04}, + title = {The rustdoc book}, + url = {https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html}, + subtitle = {What is rustdoc?}, + urldate = {2025-02-18}, +} + +@Electronic{Sphinx2025, + author = {{the Sphinx developers}}, + date = {2025-01-29}, + title = {Sphinx documentation}, + url = {https://www.sphinx-doc.org/en/master/usage/markdown.html}, + subtitle = {Markdown}, + urldate = {2025-02-18}, +} + +@Electronic{JSDoc2023, + author = {{the contributors to JSDoc}}, + date = {2023-10-31}, + title = {Use JSDoc}, + url = {https://jsdoc.app/plugins-markdown}, + subtitle = {Using the Markdown plugin}, + urldate = {2025-02-18}, +} + +@Electronic{Microsoft2023, + date = {2023-07-12}, + editor = {Microsoft}, + title = {docfx}, + url = {https://dotnet.github.io/docfx/docs/basic-concepts.html}, + subtitle = {Basic Concepts}, + urldate = {2025-02-18}, +} + @Comment{jabref-meta: databaseType:biblatex;} @Comment{jabref-meta: fileDirectory-jonas-bastian:/home/jonas/Projects/RUC/LIB/md;} |
