Editing Google Season of Docs/Project Ideas

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
If you want to work on '''computer-aided design (CAD), geometry, or graphics''' documentation, you've come to the right place!  Please check out our project ideas below.  They are roughly in order or priority and difficulty.  Here are some links to help you get started with a proposal:
+
If you want to work on '''computer-aided design (CAD), geometry, or graphics''' documentation, you've come to the right place!  Please check out our project ideas below.  Here are some links to help you get started with a proposal:
  
 
# [https://brlcad.org/wiki/Compiling Get BRL-CAD source code]
 
# [https://brlcad.org/wiki/Compiling Get BRL-CAD source code]
Line 10: Line 10:
 
Remember that project descriptions are just ''rough ideas''.  You must expand with [[Summer_of_Code/Application_Guidelines|considerably more detail]].  Set goals that fit your experience and interest.
 
Remember that project descriptions are just ''rough ideas''.  You must expand with [[Summer_of_Code/Application_Guidelines|considerably more detail]].  Set goals that fit your experience and interest.
  
<!--
+
 
= Write an "Introduction to BRL-CAD" =
+
= Write an Introduction to BRL-CAD =
  
 
{|bgcolor=#fff
 
{|bgcolor=#fff
Line 28: Line 28:
 
|width=10% align=center bgcolor=#eee|morrison, rossberg
 
|width=10% align=center bgcolor=#eee|morrison, rossberg
 
|}
 
|}
-->
 
  
 
+
= Organize all existing BRL-CAD documentation =
= Migrate doc infrastructure =
 
  
 
{| bgcolor=#fff
 
{| bgcolor=#fff
Line 39: Line 37:
 
!align=center|Contacts
 
!align=center|Contacts
 
|-
 
|-
|width=62%|BRL-CAD has extensive documentation infrastructure using Docbook XML whereby we "compile" them into HTML, PDF, and other formats.  This approach helps ensure docs remain up-to-date, without syntax/structure errors, and allows the documentation to be composed and reused in different ways (e.g., an tutorial on some topic might get embedded as an appendix in one document or a chapter to another).  That said, the underlying format is tedious to write and hard for contributors.  We'd like to migrate to a newer system like [https://antora.org Antora] or [https://docusaurus.io Docusaurus] or [https://www.mkdocs.org MkDocs], converting everything over while still retaining build system integration.
+
|width=62%|Tame the beast.  BRL-CAD has more than a million words of documentation spread across hundreds of documents.  Some are huge, some are small.  There are books, articles, presentations, manual pages, diagrams, reference cards, and more in a variety of formats and locations.  The goal of this task to to conduct a complete audit of all existing documentation, categorize and organize documentation, make recommendations and/or facilitate with merging overlapping documentation, and present all available documentation in a new web index.
References:
 
* see doc/docbook in a source checkout
 
* http://brlcad.org/HACKING_BRL-CAD.pdf
 
* https://docbook.org
 
* https://antora.org
 
|width=18% align=center bgcolor=#eee|Docbook XML, AsciiDoc, Markdown, Antora
 
|width=10% align=center|Medium
 
|width=10% align=center bgcolor=#eee|morrison, rossberg, yapp
 
|}
 
 
 
= Organize all existing user docs =
 
 
 
{| bgcolor=#fff
 
!
 
!align=center|Technologies
 
!align=center|Difficulty
 
!align=center|Contacts
 
|-
 
|width=62%|Tame the beast.  BRL-CAD has more than a million words of documentation spread across hundreds of documents.  Some are huge, some are small.  There are books, articles, presentations, manual pages, diagrams, reference cards, and more in a variety of formats and locations.  The goal of this task to to conduct a complete audit of all existing documentation, catalog them, make recommendations and/or facilitate with merging overlapping documentation, and present all available documentation in a new web index.
 
 
References:
 
References:
 
* see doc/ hierarchy in a Subversion checkout
 
* see doc/ hierarchy in a Subversion checkout
Line 66: Line 45:
  
 
|width=18% align=center bgcolor=#eee|Mediawiki, Docbook XML, Subversion
 
|width=18% align=center bgcolor=#eee|Mediawiki, Docbook XML, Subversion
|width=10% align=center|Easy
+
|width=10% align=center|Medium
 
|width=10% align=center bgcolor=#eee|yapp, morrison, rossberg
 
|width=10% align=center bgcolor=#eee|yapp, morrison, rossberg
 
|}
 
|}
  
= Write a "BRL-CAD Primitives" manual =
+
= Write a BRL-CAD Primitives manual =
  
 
{| bgcolor=#fff
 
{| bgcolor=#fff
Line 84: Line 63:
 
* https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf
 
* https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf
 
* http://brlcad.org/tmp/primitives/
 
* http://brlcad.org/tmp/primitives/
|width=18% align=center bgcolor=#eee|Docbook XML, Subversion, basic reading of C/C++
+
|width=18% align=center bgcolor=#eee|Docbook XML, Subversion, C/C++
|width=10% align=center|Hard
+
|width=10% align=center|Medium
 
|width=10% align=center bgcolor=#eee|morrison, rossberg
 
|width=10% align=center bgcolor=#eee|morrison, rossberg
 
|}
 
|}
  
= Organize and publish developer docs =
+
= Upgrade doc infrastructure =
  
 
{| bgcolor=#fff
 
{| bgcolor=#fff
Line 97: Line 76:
 
!align=center|Contacts
 
!align=center|Contacts
 
|-
 
|-
|width=62%|BRL-CAD uses [http://www.doxygen.nl Doxygen] for API documentation.  It's a simple way for developers to document API by merely adding /** comments like this */ to their code, typically before a functionThe primary goal of this project is to make sure all of the public API has a Doxygen comment, has parameters tagged appropriately, grouped accordingly, and that all groupings are documented as wellThe secondary goal is to then publish the output from Doxygen to our website in HTML and PDF forms so that reference documentation is available to everyone.
+
|width=62%|BRL-CAD has extensive documentation infrastructure using Docbook XML whereby we "compile" them into HTML, PDF, and other formatsThis approach helps ensure docs remain up-to-date, without syntax/structure errors, and allows the documentation to be composed and reused in different ways (e.g., an tutorial on some topic might get embedded as an appendix in one document or a chapter to another)That said, the underlying format is tedious to write and hard for contributorsWe'd like to migrate to a newer system like [https://docusaurus.io Docusaurus] or [https://antora.org Antora], converting everything over while still retaining build system integration.
 
References:
 
References:
* see misc/doxygen in a source checkout
+
* see doc/docbook in a source checkout
 
* http://brlcad.org/HACKING_BRL-CAD.pdf
 
* http://brlcad.org/HACKING_BRL-CAD.pdf
* http://www.doxygen.nl
+
* https://docbook.org
|width=18% align=center bgcolor=#eee|Doxygen, Subversion, C/C++ code comments
+
* https://docusaurus.io
|width=10% align=center|Medium
+
|width=18% align=center bgcolor=#eee|Docbook XML, Markdown, Subversion, Docusaurus
|width=10% align=center bgcolor=#eee|yapp, morrison, rossberg
 
|}
 
 
 
 
 
= Convert unmanaged to managed =
 
 
 
{| bgcolor=#fff
 
!
 
!align=center|Technologies
 
!align=center|Difficulty
 
!align=center|Contacts
 
|-
 
|width=62%|BRL-CAD has several books, presentations, and other documentation written in familiar publishing tools like Microsoft Word, Microsoft Powerpoint, Adobe InDesign, LaTeX, Apple Pages, and more.  They are "unmanaged" in the sense that they are not easily kept in sync, unlike the majority of BRL-CAD's docs that are compiled alongside code and easily updated with a text editor (i.e., "managed").  The main reason they are unmanaged is because they have specific layout and formatting.  For this project, the goal is to figure out how to manage them so that they're in an editable markup format like AsciiDoc **and** any custom formatting is preserved (e.g., through the use of stylesheets).
 
References:
 
* https://github.com/Ardemius/asciidoctor-presentation
 
* https://asciidoctor.org/docs/asciidoctor-revealjs/#convert-asciidoc-into-slides
 
* http://rhythmus.be/md2indd/
 
* https://pandoc.org
 
|width=18% align=center bgcolor=#eee|AsciiDoc, Pandoc, Markdown, Docbook XML
 
 
|width=10% align=center|Hard
 
|width=10% align=center|Hard
 
|width=10% align=center bgcolor=#eee|yapp, morrison, rossberg
 
|width=10% align=center bgcolor=#eee|yapp, morrison, rossberg
 
|}
 
|}

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)