f3d-app / f3d

Fast and minimalist 3D viewer.
https://f3d.app
BSD 3-Clause "New" or "Revised" License
2.84k stars 205 forks source link

Rework documentation #48

Closed mwestphal closed 1 year ago

mwestphal commented 2 years ago

Documentation is hard to maintain, here is the current state:

  1. Generic doc is duplicated two times
  2. Options/Hotkeys doc is duplicated three times
  3. main README.md is getting very long and hard to read

This should be improved, here is what we need to have:

  1. Complete user documentation should be available in a gitlab markdown format from the main README.md
  2. Complete user documentation should be available in the webdoc
  3. Limit duplication as much as possible

Here is a proposition to fix that:

  1. Put only the most esential and nice looking information in the main README.md
  2. Link from the main README.md to other logically organized .md files in a dedicated directory (see below for an example organization)
  3. Generate webdocumentation .md files during build thanks to cmake custom commands (see below for more info)
  4. If adressing #47, generate simple html doc during build OR generate actual web doc during build
  5. (Optional) Find a way to generate a .h from the options/hotkeys .md file during build so that it can be used in the --help output (and other usages?)
  6. (Optional) Use Pandoc instead of help2man to generate man, relying on generated .md file during build (see expected format here: https://www.pragmaticlinux.com/2021/01/create-a-man-page-for-your-own-program-or-script-with-pandoc/)

Example .md file organization, that could also be used as a webdoc organisation:

- README.md
- doc
-- OPTIONS.md
-- HOTKEYS.md
-- INSTALATION.md
-- USAGE.md
-- BUILD.md (should this go into dev?)
-- CONFIGURATION_FILE.md
-- LIMITATIONS.md
-- TROUBLESHOOTING.md
-- dev
--- GENERATE_WEBDOC.md
--- GENERATE_COVERAGE.md
--- GENERATE_MAN.md
--- DEVELOP.md
- webdoc
...

Differences between README.md and webdoc md files:

+ ![F3D Logo](./resources/logo.svg) 
- ![F3D Logo](logo.png) 
+ <img src="https://kitware.github.io/F3D/gallery/04-f3d.png"  width="640">
- ![F3D Demo](../gallery/04-f3d.png)

If all slight change are removed, simply symlinking from the webdoc to the doc.md could be a very easy solution to put into place.

mwestphal commented 2 years ago

https://gitlab.kitware.com/f3d/f3d/-/issues/236

mwestphal commented 2 years ago

@Meakk : for the time being, lets keep update the ReadME.md, but lets not touch the old doc for the website.

mwestphal commented 2 years ago

Doc should be added for the libf3d too.

mwestphal commented 2 years ago

Here is a an updated plan for the new doc:

- README.md: contains generic presentation, link to release, quick how to use and acknoledgements
- GALLERY.md: same content as https://f3d-app.github.io/f3d/gallery/
- doc
-- OPTIONS.md: contains # Options
-- HOTKEYS.md: contains # Interaction and # Cycling coloring
-- INSTALATION.md: contains # Instalation
-- USAGE.md: contains # File Formats, # Scene construction, # rendering precedence, and anything else 
-- CONFIGURATION_FILE.md:  contains # Configuration File
-- DESKTOP_INTEGRATION.md: contains # Desktop Integration
-- LIMITATIONS.md: contains # Limitations
-- TROUBLESHOOTING.md: contains # Troubleshooting
-- dev
--- BUILD.md: contains # Build
--- GENERATE_COVERAGE.md: info about generating coverage
--- GENERATE_MAN.md: info about generating man
--- DEVELOP.md: info about our process of developement and how to contribute to f3d
-- libf3d
--- OVERVIEW.md: generic information about the libf3d, partially contains README_libf3d.md
--- EXAMPLES.md: expanded set of examples usage of the libf3d, insipired by README_libf3d.md
--- doxygen: not sure of the feasiability of this, but doxygen should be used to generate actual ref for libf3d

wdyt @Meakk @Audrey_il_te_faut_un_compte_github ?

mwestphal commented 2 years ago

Please provide some feedback @Meakk

Meakk commented 2 years ago

We need a section for python/java bindings, otherwise looks good to me.

mwestphal commented 2 years ago
- README.md: contains generic presentation, link to release, quick how to use and acknoledgements
- GALLERY.md: same content as https://f3d-app.github.io/f3d/gallery/
- doc
-- OPTIONS.md: contains # Options
-- HOTKEYS.md: contains # Interaction and # Cycling coloring
-- INSTALATION.md: contains # Instalation
-- USAGE.md: contains # File Formats, # Scene construction, # rendering precedence, and anything else 
-- CONFIGURATION_FILE.md:  contains # Configuration File
-- DESKTOP_INTEGRATION.md: contains # Desktop Integration
-- LIMITATIONS.md: contains # Limitations
-- TROUBLESHOOTING.md: contains # Troubleshooting
-- dev
--- BUILD.md: contains # Build
--- GENERATE_COVERAGE.md: info about generating coverage
--- GENERATE_MAN.md: info about generating man
--- DEVELOP.md: info about our process of developement and how to contribute to f3d
-- libf3d
--- OVERVIEW.md: generic information about the libf3d, partially contains README_libf3d.md
--- EXAMPLES.md: expanded set of examples usage of the libf3d, insipired by README_libf3d.md
--- BINDINGS.md
--- doxygen: not sure of the feasiability of this, but doxygen should be used to generate actual ref for libf3d
mwestphal commented 2 years ago

Trying github upload

dota can.webm dota.webm directScalars gearbox.webm pointCloud volumeMedical cfd realisticMask fbx step realisticHelmet volume cad

mwestphal commented 2 years ago

typical

mwestphal commented 2 years ago

logo

mwestphal commented 2 years ago

logo

mwestphal commented 2 years ago

![Uploading logo.png…]()

mwestphal commented 2 years ago

logo

mwestphal commented 1 year ago

Octicons-mark-github svg

mwestphal commented 1 year ago

Octicons-mark-github svg

mwestphal commented 1 year ago

logo32

mwestphal commented 1 year ago

Fixed by #364

mwestphal commented 1 year ago

a

mwestphal commented 1 year ago

194735416-3f386437-456c-4145-9b5e-6bb6451d7e9a