{"id":3250,"date":"2020-06-10T04:11:56","date_gmt":"2020-06-10T04:11:56","guid":{"rendered":"https:\/\/blog.hassler.ec\/wp\/?p=3250"},"modified":"2020-05-16T02:15:54","modified_gmt":"2020-05-16T02:15:54","slug":"tools-for-code-documentation","status":"publish","type":"post","link":"https:\/\/blog.hassler.ec\/wp\/2020\/06\/10\/tools-for-code-documentation\/","title":{"rendered":"Tools for Code Documentation"},"content":{"rendered":"<div class=\"n p\">\n<div class=\"z ab ac ae af es ah ai\">\n<div>\n<div id=\"a849\" class=\"et eu ap by ev b ew ex ey ez fa fb fc fd fe ff fg\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ho ai\">\n<figure class=\"hp hq hr hs ht ho ai paragraph-image\">\n<div class=\"hy r cr hz\">\n<div class=\"ia ib r\">\n<div class=\"cq hu s t u hv ai av hw hx\"><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"pq rr s t u hv ai if\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/1350\/0*R7EieTFpVtgjrIYt\" sizes=\"auto, 1350px\" srcset=\"https:\/\/miro.medium.com\/max\/552\/0*R7EieTFpVtgjrIYt 276w, https:\/\/miro.medium.com\/max\/1104\/0*R7EieTFpVtgjrIYt 552w, https:\/\/miro.medium.com\/max\/1280\/0*R7EieTFpVtgjrIYt 640w, https:\/\/miro.medium.com\/max\/1456\/0*R7EieTFpVtgjrIYt 728w, https:\/\/miro.medium.com\/max\/1632\/0*R7EieTFpVtgjrIYt 816w, https:\/\/miro.medium.com\/max\/1808\/0*R7EieTFpVtgjrIYt 904w, https:\/\/miro.medium.com\/max\/1984\/0*R7EieTFpVtgjrIYt 992w, https:\/\/miro.medium.com\/max\/2160\/0*R7EieTFpVtgjrIYt 1080w, https:\/\/miro.medium.com\/max\/2700\/0*R7EieTFpVtgjrIYt 1350w\" width=\"1350\" height=\"900\" \/><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<div class=\"n p\">\n<div class=\"z ab ac ae af es ah ai\">\n<p id=\"c160\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it iu en\" data-selectable-paragraph=\"\"><span class=\"r jb jc jd je jf jg jh ji jj cr\">C<\/span>ode documentation is a process by which a programmer documents code. It is a well-known term among engineers. If they don\u2019t do this, it leads to poor code readability and hard maintenance for other team members.<\/p>\n<p id=\"9ff3\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">Code documentation is different from project documentation as it mainly aims at how the system works but these two processes have something in common \u2014 requirements of using a professional tool. In this article, I overview some popular tools for creating code documentation.<\/p>\n<h1 id=\"2025\" class=\"gy gz ap by bx ha ew hb ey hc hd he hf hg hh hi hj\" data-selectable-paragraph=\"\"><a class=\"cu dw hk hl hm hn\" href=\"https:\/\/www.latex-project.org\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">LaTex<\/a><\/h1>\n<p id=\"3660\" class=\"ig iv ap by ii b ij jk iw il jl ix in jm iy ip jn iz ir jo ja it en\" data-selectable-paragraph=\"\">LaTeX is a document preparation system for high-quality typesetting. It is most often used for medium-to-large technical or scientific documents but it can be used for almost any form of publishing.<\/p>\n<p id=\"9566\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">LaTeX is not a word processor! Instead, LaTeX encourages authors not to worry too much about the appearance of their documents but to concentrate on getting the right content.<\/p>\n<p id=\"b94d\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">LaTeX is a high-quality typesetting system; it includes features designed for the production of technical and scientific documentation. LaTeX is the de facto standard for the communication and publication of scientific documents. LaTeX is available as free software.<\/p>\n<p id=\"3bb6\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">You don\u2019t have to pay for using LaTeX, i.e., there are no licence fees, etc.<\/p>\n<h1 id=\"1aa9\" class=\"gy gz ap by bx ha ew hb ey hc hd he hf hg hh hi hj\" data-selectable-paragraph=\"\"><a class=\"cu dw hk hl hm hn\" href=\"http:\/\/pandoc.org\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Pandoc<\/a><\/h1>\n<p id=\"3b6b\" class=\"ig iv ap by ii b ij jk iw il jl ix in jm iy ip jn iz ir jo ja it en\" data-selectable-paragraph=\"\">Pandoc understands a number of useful markdown syntax extensions, including document metadata (title, author, date); footnotes; tables; definition lists; superscript and subscript; strikeout; enhanced ordered lists (start number and numbering style are significant); running example lists; delimited code blocks with syntax highlighting; smart quotes, dashes, and ellipses; markdown inside HTML blocks; and inline LaTeX. If strict markdown compatibility is desired, all of these extensions can be turned off.<\/p>\n<p id=\"d886\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">There are many ways to customize Pandoc to fit your needs, including a template system and a powerful system for writing filters.<\/p>\n<p id=\"7a2b\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">Pandoc includes a Haskell library and a standalone command-line program. The library includes separate modules for each input and output format, so adding a new input or output format just requires adding a new module.<\/p>\n<p id=\"892b\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">Pandoc is free software, released under the\u00a0<a class=\"cu dw hk hl hm hn\" href=\"http:\/\/www.gnu.org\/copyleft\/gpl.html\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">GPL<\/a>.<\/p>\n<figure class=\"hp hq hr hs ht ho eg eh paragraph-image\">\n<div class=\"jq jr cr js ai\">\n<div class=\"eg eh jp\">\n<div class=\"hy r cr hz\">\n<div class=\"ia ib r\">\n<div class=\"cq hu s t u hv ai av hw hx\"><img loading=\"lazy\" decoding=\"async\" class=\"pq rr s t u hv ai if\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/1350\/0*rVBZZBRlttXSB2HR\" sizes=\"auto, 700px\" srcset=\"https:\/\/miro.medium.com\/max\/552\/0*rVBZZBRlttXSB2HR 276w, https:\/\/miro.medium.com\/max\/1104\/0*rVBZZBRlttXSB2HR 552w, https:\/\/miro.medium.com\/max\/1280\/0*rVBZZBRlttXSB2HR 640w, https:\/\/miro.medium.com\/max\/1400\/0*rVBZZBRlttXSB2HR 700w\" width=\"1350\" height=\"900\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/figure>\n<h1 id=\"2015\" class=\"gy gz ap by bx ha ew hb ey hc hd he hf hg hh hi hj\" data-selectable-paragraph=\"\"><a class=\"cu dw hk hl hm hn\" href=\"https:\/\/daringfireball.net\/projects\/markdown\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Markdown<\/a><\/h1>\n<p id=\"1a88\" class=\"ig iv ap by ii b ij jk iw il jl ix in jm iy ip jn iz ir jo ja it en\" data-selectable-paragraph=\"\">Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).<\/p>\n<p id=\"f3cd\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">The overriding design goal for Markdown\u2019s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it\u2019s been marked up with tags or formatting instructions. While Markdown\u2019s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown\u2019s syntax is the format of plain text email.<\/p>\n<h1 id=\"9eda\" class=\"gy gz ap by bx ha ew hb ey hc hd he hf hg hh hi hj\" data-selectable-paragraph=\"\"><a class=\"cu dw hk hl hm hn\" href=\"https:\/\/www.liveedu.tv\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">LiveEdu<\/a><\/h1>\n<p id=\"587b\" class=\"ig iv ap by ii b ij jk iw il jl ix in jm iy ip jn iz ir jo ja it en\" data-selectable-paragraph=\"\">LiveEdu allows you to broadcast your code documentation and create \u201cVideo code documentation.\u201d<\/p>\n<p id=\"7541\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">Education Ecosystem is a decentralized learning ecosystem that teaches professionals and college students how to build real products. You can describe our product as a hybrid of Pluralsight and Twitch. We are building the world\u2019s biggest learning ecosystem for future technology topics such as artificial intelligence, cybersecurity, game development, data science, cryptocurrencies, and programming. Education Ecosystem is video based and each project contains videos, a structured project outline, project repo, and downloadable resources. Users can clone project resources from the Education Ecosystem Git and run the applications on their local machine.<\/p>\n<h1 id=\"f03f\" class=\"gy gz ap by bx ha ew hb ey hc hd he hf hg hh hi hj\" data-selectable-paragraph=\"\"><a class=\"cu dw hk hl hm hn\" href=\"https:\/\/www.sphinx-doc.org\/en\/stable\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Sphinx<\/a><\/h1>\n<p id=\"6e7d\" class=\"ig iv ap by ii b ij jk iw il jl ix in jm iy ip jn iz ir jo ja it en\" data-selectable-paragraph=\"\">Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license.<\/p>\n<p id=\"8aec\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it en\" data-selectable-paragraph=\"\">It was originally created for\u00a0<a class=\"cu dw hk hl hm hn\" href=\"https:\/\/docs.python.org\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">the Python documentation<\/a>, and it has excellent facilities for the documentation of software projects in a range of languages. Here are some features:<\/p>\n<ul class=\"\">\n<li id=\"c6d0\" class=\"ig iv ap by ii b ij ik iw il im ix in io iy ip iq iz ir is ja it jt ju jv\" data-selectable-paragraph=\"\"><strong class=\"ii jw\">Output formats:<\/strong>\u00a0HTML (including Windows HTML Help), LaTeX (for printable PDF versions), ePub, Texinfo, manual pages, plain text.<\/li>\n<li id=\"36db\" class=\"ig iv ap by ii b ij jx iw il jy ix in jz iy ip ka iz ir kb ja it jt ju jv\" data-selectable-paragraph=\"\"><strong class=\"ii jw\">Extensive cross-references:<\/strong>\u00a0semantic markup and automatic links for functions, classes, citations, glossary terms, and similar pieces of information.<\/li>\n<li id=\"50e4\" class=\"ig iv ap by ii b ij jx iw il jy ix in jz iy ip ka iz ir kb ja it jt ju jv\" data-selectable-paragraph=\"\"><strong class=\"ii jw\">Hierarchical structure:<\/strong>\u00a0easy definition of a document tree, with automatic links to siblings, parents, and children.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div class=\"n p\">\n<div class=\"ae af ag ah ai fy ak al\">\n<p data-selectable-paragraph=\"\">\n<p data-selectable-paragraph=\"\">SOURCE<strong>:\u00a0<a href=\"https:\/\/medium.com\/@kesiparker\/tools-for-code-documentation-4fd9e8e39eed\"> https:\/\/medium.com\/@kesiparker\/tools-for-code-documentation-4fd9e8e39eed<\/a><\/strong><\/p>\n<p data-selectable-paragraph=\"\">\n<p data-selectable-paragraph=\"\">WRITTEN BY<\/p>\n<div class=\"ih ii ij hb l u\">\n<div class=\"ik il l bw\">\n<div class=\"l ie io ip\"><a href=\"https:\/\/medium.com\/@kesiparker?source=follow_footer--------------------------follow_footer-\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"l ds ey iq alignleft\" src=\"https:\/\/miro.medium.com\/fit\/c\/80\/80\/0*Zg-gAY6Y1seQ-GtV.\" alt=\"Kesi Parker\" width=\"80\" height=\"80\" \/><\/a><\/div>\n<div class=\"ir l is\">\n<p class=\"as fq hi bf dy it iu\"><a class=\"bz ca cb cc cd ce cf cg ch ci do dp cl cm dq dr\" style=\"font-family: inherit; font-size: 31.5px; font-weight: bold;\" href=\"https:\/\/medium.com\/@kesiparker?source=follow_footer--------------------------follow_footer-\" rel=\"noopener\">Kesi Parker<\/a><\/p>\n<\/div>\n<div class=\"ir iv ag is\">\n<div class=\"ac ag ah hk\">\n<div class=\"l g\"><span style=\"color: inherit; font-family: inherit; font-size: 17.5px; font-weight: bold;\">Job position: Freelance Technical Writer. I use ClickHelp for technical writing.<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ih l\"><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div class=\"n p\">\n<div class=\"ae af ag ah ai fy ak al\">\n<div class=\"ih ii ij hb l u\">\n<div class=\"ik il l bw\">\n<div class=\"l ie io ip\"><a href=\"https:\/\/medium.com\/technical-writing-is-easy?source=follow_footer--------------------------follow_footer-\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"di iq ey alignleft\" src=\"https:\/\/miro.medium.com\/fit\/c\/80\/80\/1*JMc6cK4LBQdGHYJEkPgajQ.jpeg\" alt=\"Technical Writing is Easy\" width=\"80\" height=\"80\" \/><\/a><\/div>\n<div class=\"ir iv ag is\">\n<div class=\"ac ag ah hk\">\n<h2 class=\"as at au av ea\"><a class=\"bz ca cb cc cd ce cf cg ch ci do dp cl cm dq dr\" href=\"https:\/\/medium.com\/technical-writing-is-easy?source=follow_footer--------------------------follow_footer-\" rel=\"noopener\">Technical Writing is Easy<\/a><\/h2>\n<div class=\"l g\">\n<div class=\"bq\"><span style=\"color: inherit; font-family: inherit; font-size: 17.5px; font-weight: bold;\">Technical writing is for everyone!<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"jb ii l u\"><\/div>\n<\/div>\n<\/div>\n<p data-selectable-paragraph=\"\">\n<p data-selectable-paragraph=\"\">\n<p data-selectable-paragraph=\"\">\n<p data-selectable-paragraph=\"\">\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Code documentation is a process by which a programmer documents code. It is a well-known term among engineers. If they [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3252,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[12,128,47,21,40],"tags":[154],"class_list":["post-3250","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloghassler-ec","category-clickhelp","category-medium","category-productividad","category-technical-writer","tag-kesi-parker"],"_links":{"self":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/3250","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/comments?post=3250"}],"version-history":[{"count":1,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/3250\/revisions"}],"predecessor-version":[{"id":3253,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/posts\/3250\/revisions\/3253"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/media\/3252"}],"wp:attachment":[{"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/media?parent=3250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/categories?post=3250"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hassler.ec\/wp\/wp-json\/wp\/v2\/tags?post=3250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}