-*-mode: org-*-

#+TITLE: smmx
#+smmx-root-position: 379.71;543.7
#+smmx-style-key: system.black-and-white
#+smmx-info-position: 0;-70
#+TODO: IDEA TODO ACTV TEST DONT IGNR NOTE QUES | DONE



! simplemind uses .smmx files for storing mind maps (text+assets)
   ! https://simplemind.eu/

! it's a zip file:
    test.smmx
      document/mindmap.xml  (tests/offline created mindmap/document/mindmap.xml)
      images/7cc794179eebf8ac8e38847d07d363e642cdbdc8.png

! test document: [[tests/offline created mindmap.smmx]]

! <meta> header
    <guid guid="FFC052A279954B0AA1228D4805AE2872"/>
    <title text="list layout subtree"/>
    [<images containsImages="True"/>]
    <style key="system.gray-scale"/>
    <auto-numbering style="disabled"/>
    <scrollstate zoom="100" x="271" y="333"/>
    <selection guid="Bv-OUkzi6EifEC9GfV1f-Q" type="node" id="1"/>
    <main-centraltheme id="0"/>
  </meta>
 
! document styles:
   <style key="system.soft-palette"/>
   <style key="system.colors-on-black-palette"/>    
   <style key="system.gray-scale"/>
   <style key="system.black-and-white"/>

! text uses carriage return (13, 0xd) line endings

! node positioning via x="640" y="480"
   ! absolute coordinates
   ! negative y is up (?)
      ! <text guid="Sq_5En0MKWsRaonGi-s9PQ" x="500.48" y="-302.45">

! nodes have ids and guids
   ! id="0"
   ! guid="Sq_5En0MKWsRaonGi-s9PQ"
      ! 22 chars
      ! lower- and uppercase letters, numbers, '-', '_'
      ! may start with a number
   ! parent="1"
      ! "-1" if no parent

! xml can contain multiple <mindmap> elements

! <main-centraltheme id="0"/>
   ! in <meta> area

! <topics>
   ! <topic id="0" parent="-1" guid="57r6qQ6ZPCXZjU2aT6BFPw" x="511.00" y="489.00" palette="1" colorinfo="1" text="offline created mindmap" textfmt="plain">
   ! <topic id="1" parent="0" guid="5541hNL_YQCLBDOaKrJemw" x="442.00" y="654.00" palette="2" colorinfo="2" text="hello" textfmt="plain"/>

! callout text boxes via <children><text><note textfmt="plain">..text..</note><style>
    <style callout="line"/>

! links to other documents via <topic><link></topic>
   ! <link cloudmapref="./projects/project overview.smmx" />
   ! <link urllink="F:\tmp\bla.txt"/>
   ! <link urllink="http://www.google.de"/>
      ! http://www.google.de

! list layout subtrees
    <topic id="2" parent="1" guid="IKLcGrYLlUqOalSHLm9vrg" x="619.00" y="729.00" layout="list" text="list header node" textfmt="plain"/>
    <topic id="3" parent="2" x="627.50" y="773.56" text="list item 1" textfmt="plain"/>
    <topic id="4" parent="2" x="628.00" y="818.12" text="list item 2" textfmt="plain"/>

! image callouts
   ! <meta><images containsImages="True"/></meta>
   ! image callouts via 
      <topic>
        <children>
          <image>
            <link/>
          </image>
        </children>
        <images>
          <image>
            <link/>
          </image>
        </images>
      </topic>

      ! the <image> and <link> elements occur twice with the exact same attributes
         <image guid="0XdeoV8J8EaLgiKLfF8Y0w" name="3d6d5f9bb409d574bce32895d14009ee82f96783" x="40.00" y="-56.39" scale="1.00" angle="0.00">
         <link urllink="cloud://../SimpleMind/Images/001.png"/>

! embedded images (shown within topic box)
    <topic>
      <embedded-image name="7cc794179eebf8ac8e38847d07d363e642cdbdc8" scale="1.875"/>
    </topic>

! icons
    ic8_48_roadworks       construction
    ic8_48_hammer          hammer
    ic8_48_information     info
    ic8_48_question        question
    ic8_48_ok              done
    ic8_48_delete          X
    ic8_48_finish_flag     goal
    ic8_48_red_flag        checkpoint red
    ic8_48_yellow_flag     checkpoint yellow
    ic8_48_green_flag      checkpoint green
    ic8_48_light_on        idea
    ic8_48_construction    deadend
    ic8_48_ladybird        bug
    ic8_48_attach          attachment
    ic8_48_tools           hammer and screwdriver
    ic8_48_favorite        star
    ic8_48_emoticon_heart  heart
    ic8_48_emoticon_happy  smiley
    ic8_48_emoticon_wink   wink
    ic8_48_emoticon_lol    laugh
    ic8_48_neutral         umpf
    ic8_48_emoticon_sad    frown
    ic8_48_emoticon_crying cry
    ic8_48_pencil          edit
    ic8_48_shopping_cart   shopping cart
    ic8_48_book_open       book
    ic8_48_phone           phone
    ic8_48_music           music
    ic8_48_youtube         video
    ic8_48_email           URL

    ! <topic id="15" parent="1" guid="GlRMzKvA3kKqqmQoa5lGwA" x="738.57" y="1231.43" icon="ic8_48_attach" text="attachment" textfmt="plain">
    ! note: icons are pixel images (not svgs)


! relations
   ! occurs after <topics> tree
   ! <relations>
       <relation guid="4jiVSrHpIEKGTK578BNFTw" source="2" target="3">
         <path>
           <custom-point x="-1.88" y="36.25"/>   <--  relative coordinate (does not change when both nodes are moved)
         </path>
       </relation>
     </relations>

! checkboxes
! progress bars
    ! manual
    ! rollup

! calendar dates
    <topic id="3" parent="0" guid="QAe4hiO8dEa37JFdEh9E0Q" x="922.22" y="901.11" date="24-12-2020" text="xmas" textfmt="plain"/>



======================================================== index
* index
   :PROPERTIES:
   :was-main: t
   :smmx-position: 258.93;431.02
   :smmx-icon: arrow_left
   :END:
   ! ../index.smmx

======================================================== org state info
* org sub-item types
   :PROPERTIES:
   :was-main: t
   :smmx-position: 974.34;-326.47
   :smmx-list: t
   :END:
   - -  (todo)
      - [#B] or TODO (prio B)
      - [#C] or TODO (prio C)
   o o (active)
      o [#A] or ACTV (prio A)
   - + (done)
      + or + (done) when "finish" date is available
   x x (dont)
   ! ! (info)
      ! or ! (info)
   ? ? (to-be-discussed / question)
   t t (test)
   w w (wait)
   ! > callout
      :PROPERTIES:
      :smmx-text-callout-position: 87.85;-60.4
      :END:
      > highlighted short note
      > (for UI tools like SimpleMind)


* org states
   :PROPERTIES:
   :was-main: t
   :smmx-position: 608.69;-174.13
   :smmx-list: t
   :END:
   ! IDEA
   - TODO
      - [#B] or TODO (prio B)
      - [#C] or TODO (prio C)
   o ACTV
      > aka NEXT
      o [#A] or ACTV (prio A)
   t TEST
   x DONT
   x IGNR
   - DONE
      + or + (done) when "finish" date is available
   w WAIT




======================================================== SMMX parser
* ACTV smmx parser [3/4] 
** DONE analyze file format
    > zip file with XML
    > and PNG data
** DONE tkzip plugin
** ACTV parse topics [9/10] 
*** DONE id
*** DONE guid
     > can be omitted
*** DONE caption / title
*** DONE style [9/9] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE palette
**** DONE colorinfo
**** DONE fill color
**** DONE border style
**** DONE border width
**** DONE stroke style
**** DONE stroke color
**** DONE text style
**** QUES text color
**** DONE font scale
      :PROPERTIES:
      :smmx-text-callout-position: 34.55;-49.64
      :END:
      > point size / 10.0
*** DONE [#A] convert smmx formatting to neutral format [5/5] 
     :PROPERTIES:
     :hide: 
     :END:
     > topic title, notes, text callout
**** NOTE notes
       + textfmt="rtf1"
       + bold: text="some \\*bold\\* text"
       + text="some \\/italic\\/ text"
       + text="some \\/underlined\\/ text"
          ! apparently a bug in the windows version of simplemind, should be \\_underlined\\_ text
       + text="some \\~strike-through\\~ text"
       + text="some \\`subscript\\` text"
          ! not converted to org (uses ^{some text} syntax, not displayed in emacs anyway)
       + text="some \\^superscript\\^ text"
          ! not converted to org (uses _{some text} syntax, not displayed in emacs anyway)
       + "note" (callout or topic note) uses slightly different syntax, e.g. \* instead of \\*
**** DONE bold
**** DONE italic
**** DONE underline
**** DONE strikethrough
**** DONT superscript
**** DONT subscript
**** DONE special handling for notes
*** DONE note [1/1] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE org-style properties
*** ACTV text note callouts [6/7] 
**** DONE note
**** DONE position
**** DONE font scale
**** DONE style
      > tapered, line, ..
**** DONE fill color
**** DONE text color
**** ACTV [#A] multiple callouts
*** DONE image callout [5/5] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE name
**** DONE position
**** DONE angle
**** DONE extract image files
**** DONE thumbnail
*** DONE embedded image [2/2] 
     :PROPERTIES:
     :hide: 
     :END:
     > in topic box
**** DONE name
**** DONE scale
*** DONE calendar date
** DONE parse relations [5/5] 
    :PROPERTIES:
    :hide: 
    :END:
*** DONE any
*** DONE parent
*** DONE text callout [2/2] 
**** DONE position
**** DONE style [3/3] 
      > tapered, line, ..
***** DONE textcolor
***** DONE fillcolor
***** DONE font scale
*** DONE custom curve point
*** DONE style [5/5] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE shape
**** DONE arrows
**** DONE line style
**** DONE line width
**** DONE color

======================================================== SMMX to MarkDown
* DONE smmx to md [7/7] 
** DONE outline headers
** DONE list subtrees
** DONE topic note
** DONE text notes [1/1] 
    :PROPERTIES:
    :hide: 
    :END:
*** DONE single note
*** DONT multiple notes
** DONE image [2/2] 
*** DONE callout
*** DONE embedded
** DONE links [1/1] 
    :PROPERTIES:
    :hide: 
    :END:
*** NOTE notes
         + link (none or local ref or URL "://" (cloud://, http://, ftp://, ..)
            ! editor supports only one link per node
*** DONE replace .smmx by .html or .md
** DONE xrefs [3/3] 
    :PROPERTIES:
    :hide: 
    :END:
*** DONE relations
*** DONE parent-relation
*** DONE relation callouts

======================================================== org parser
* DONE org parser [7/7] 
** DONE global properties
    configurable task names
** DONE document title
    :PROPERTIES:
    :smmx-text-callout-position: 47.78;-45.84
    :END:
    > #+TITLE: My Document
** DONE item header + meta data [4/4] 
    :PROPERTIES:
    :hide: 
    :END:
*** DONE state
*** DONE tags [2/2] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE before title
      > my preference
**** DONE after title
      > org-mode col 73
*** DONE priority
*** DONE rollup progress [3/3] 
     :PROPERTIES:
     :hide: 
     :END:
     * myitem [2/3]
     * myitem [50%]
**** DONE percent
**** DONE item count
**** DONE recursive option
      > cookie_data property

** DONE nested headers **
** DONE general info nodes
    > above todo items
    > for arbitrary quick notes
** DONE todo.txt style task trees
    > !.-toxw+?>
** DONE node line data [6/6] 
*** DONE text / note
*** DONE callout lines
     > > callout
*** DONE links
*** DONT anchors <<>>
*** DONE properties
     :PROPERTIES:
     :effort: 01:00
     :ordered: t
     :blocker: previous-sibling    or task_id
     :priority: 1000
     :allocate: dev
     :resource_id: doc
     :limits: { dailymax 6.4h }
     :smmx-text-callout-position: 36.6;-73.21
     :END:
     > time tracking
     > effort estimation
     > project planning
     > (taskjuggler)
     or
     CLOSED: <2020-12-24>
     clock time
     http://www.personal.psu.edu/bam49/notebook/org-mode-for-research/
     taskjuggler
     https://orgmode.org/worg/org-tutorials/org-taskjuggler.html
     http://taskjuggler.org/tj3/manual/Installation.html
     * mytask
     *** Peter Murphy

*** DONE plan [4/4] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE SCHEDULED
**** DONE DEADLINE
**** DONE build task dependencies
**** DONE build resource list [1/1] 
      :PROPERTIES:
      :hide: 
      :END:
***** DONT groups
       > use tags instead,
       > e.g. devs, hw, sw, pm, ..
***** DONE resource availability [1/1] 
       > may be bound by
       > other projects
****** DONE avail property
        > or limits extension
*** DONE timestamps [3/3] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE creation date
      > ! 06Jan2020
**** DONE mod. dates
      > ! C:07Jan2020
**** DONE finish date
      > ! F:06Jan2020

======================================================== org to org
* TODO org to org [0/1] 
   :PROPERTIES:
   :smmx-text-callout-position: 30.83;54.92
   :END:
   > echo
** ACTV cmdline options [1/3] 
*** DONE filter
*** ACTV [#A] remove smmx properties
*** ACTV [#A] stop recursion at norecurse property

======================================================== org to smmx
* ACTV org to smmx [8/13] 
** DONE layout [5/5] 
    :PROPERTIES:
    :smmx-relation: target="org-sub-item-types" position=-54.29;-334.04 text="see" text-position=10.86;1.55 text-color=#ffffff text-fill-color=#d20000
    :smmx-relation: target="org-states" position=-85.22;-290.49 text="see" text-position=-6.21;-4.66 text-color=#ffffff text-fill-color=#d20000
    :END:
*** NOTE notes
      + layout (none or "list")
*** DONE use topdown layout
*** DONE create pages when number of toplevel nodes exceeds 20
     > page nodes
*** DONE global #+smmx-layout+ property
*** DONE allow freeform layout when all nodes have positions
*** DONE switch to list layout for child_nodes
     > todo.txt style trees
** DONE info nodes [3/3] 
    :PROPERTIES:
    :hide: 
    :smmx-text-callout-position: 54.41;-47.7
    :END:
    > before first task node
*** NOTE virtual, not present in .org view
*** DONE move info nodes to info main node
*** DONE as "info" topic org note
*** DONE or as "info" topic subtree (list)
** DONE root node [2/2] 
*** NOTE virtual, not present in .org view
*** DONE store global properties in note
*** DONE store position in global property [1/1] 
**** DONE #+smmx-root-position
** DONE main nodes
    > other freeform nodes
** IGNR item organization?
    :PROPERTIES:
    :hide: 
    :END:
    ! sort by tag, then by sequence index
*** TODO by tag ? [0/1] 
**** TODO [#B] need tag hierarchy [0/1] 
***** TODO [#C] use tag order
*** TODO by date ?
** DONE topic names [1/1] 
    :PROPERTIES:
    :hide: 
    :END:
*** IGNR adaptive font size
     > long title = small font
**** DONE already done by ui
*** DONT abbreviate
     :PROPERTIES:
     :smmx-text-callout-position: 65;-45.28
     :END:
     > remaining text becomes note
**** NOTE can’t do that, needed for conversion back to .org
*** DONE keep as-is
** ACTV progress [2/3] 
*** DONE count
*** ACTV [#A] percent
*** DONE cookie-data recursive
** DONE text lines [2/2] 
    > note
*** DONE store textlines in note
*** DONE [#A] convert org formatting to smmx [4/4] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE bold
**** DONE italic
**** DONE underline
**** DONE strikethrough
** DONE meta info [12/12] 
    :PROPERTIES:
    :hide: 
    :smmx-text-callout-position: 78.79;-49.79
    :END:
    > *store in note as org properties*
*** DONE org-prio
     :PROPERTIES:
     :smmx-text-callout-position: 45;-44.95
     :END:
     > priority (A, B, C)
*** DONE org-tags
     :PROPERTIES:
     :smmx-text-callout-position: 25;-49.11
     :END:
     > :tag:list:
*** DONT original sequence index
*** DONE org-scheduled
     :PROPERTIES:
     :smmx-text-callout-position: 4.17;-52.45
     :END:
     > SCHEDULED:
*** DONE org-deadline
     > DEADLINE:
*** DONT org-num-spaces
*** DONT org-num-asterisks
*** DONE org-layout list
     :PROPERTIES:
     :smmx-text-callout-position: 62.22;-49.95
     :END:
     > todo list style child nodes
*** DONE org-empty-line-after-node
*** DONE ! date
*** DONE ! Cdate
     :PROPERTIES:
     :smmx-text-callout-position: 63.28;-49.79
     :END:
     > multiple occurences
*** DONE ! Fdate
*** DONE generic properties
**** NOTE task_id, resource_id, allocate, vacation, ..
      :PROPERTIES:
      :smmx-text-callout-position: 40;-51.45
      :smmx-text-callout-fill-color: #ffffff
      :END:
      > e.g. taskjuggler attribs
*** DONE smmx-calendar-date-type
     :PROPERTIES:
     :smmx-text-callout-position: 12.22;-46.61
     :END:
     > scheduled, deadline, create, finish
*** DONE restore smmx attribs from properties [16/16] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE global properties [3/3] 
***** DONE #+smmx-info-position
       :PROPERTIES:
       :smmx-text-callout-position: -15.56;-47.72
       :END:
       > x;y
***** DONE #+smmx-root-position
***** DONE #+smmx-style-key
**** DONE smmx-position
**** DONE smmx-palette
**** DONE smmx-colorinfo
**** DONE smmx-icon
**** DONE smmx-text-style
**** DONE smmx-font-scale
**** DONE smmx-list
**** DONE smmx-list-md
**** DONE smmx-hull-visible
**** DONE smmx-collapsed [1/1] 
***** DONE hide
       :PROPERTIES:
       :smmx-text-callout-position: 10;-47.72
       :END:
       > preferred name
**** DONE smmx-fill-color
**** DONE smmx-border-style
**** DONE smmx-border-width
**** DONE smmx-stroke-style
**** DONE smmx-stroke-color
**** DONT smmx-calendar-date
** DONE icon [3/3] 
*** DONE state to icon [2/2] 
**** DONE child nodes
**** DONE sub tree nodes
*** DONE restore from smmx-icon

*** DONE resource_id [2/2] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE resource_type [5/5] 
      :PROPERTIES:
      :hide: 
      :smmx-text-callout-position: 28.18;-51.46
      :END:
      > taskjuggler extension
***** DONE male
***** DONE female
***** DONE group
***** DONE manager
***** DONE dev
**** DONE generic resource icon
      :PROPERTIES:
      :smmx-text-callout-position: 48.32;-48.82
      :END:
      > unspecified :resource_type:
** ACTV links [2/3] 
*** DONE first link becomes topic link
     > leaf nodes only
*** DONE preserve link lists
     > multiple link info
     > child nodes
*** ACTV [#A] replace .org link suffix by .smmx
** ACTV callouts [1/2] 
    :PROPERTIES:
    :hide: 
    :END:
*** DONE text note [6/6] 
**** DONE text
**** DONE smmx-text-callout-position
**** DONE dont save default pos
      > 0;-50
**** DONE smmx-text-callout-style
      > tapered, line, ..
**** DONE smmx-text-callout-text-color
**** DONE smmx-text-callout-fill-color
*** TODO image
** TODO norecurse property [0/2] 
    :PROPERTIES:
    :hide: 
    :END:
*** TODO skip subtree entirely [0/1] 
     > e.g. for PM
**** TODO sum sub/child efforts and add to subtree header
*** TODO OR export subtree as org-mode note
     > temporarly hide / collapse technical details
** ACTV cmdline options [1/3] 
    :PROPERTIES:
    :hide: 
    :END:
*** TODO fold all subitem branches
*** DONE use rollup checkboxes when item has subitems
*** ACTV filter [1/4] 
**** DONE filter by tags [2/2] 
***** DONE any
***** DONE all
**** TODO filter by state
**** TODO filter by date
**** TODO keep parent nodes during export
      > for merge later on
** DONT merge mode
    :PROPERTIES:
    :hide: 
    :END:
    > keep smmx layout of
    > unchanged nodes
*** NOTE or to md, merge, back to smmx

======================================================== SMMX to Org
* ACTV smmx to org [5/9] 
** DONE global properties [3/3] 
    :PROPERTIES:
    :hide: 
    :END:
*** DONE smmx-info-position
*** DONE smmx-root-position
*** DONE smmx-style-key
*** QUES smmx-layout
** DONE info node note to child hierarchy [1/1] 
*** DONE parse properties
** DONE topic properties [14/14] 
    :PROPERTIES:
    :hide: 
    :END:
*** DONE smmx-position [1/1] 
**** DONE not when parent node uses list or top-down layout
*** DONE smmx-palette
*** DONE smmx-colorinfo
*** DONE smmx-text-style
*** DONE smmx-text-scale
*** DONE smmx-list
*** DONE smmx-list-md
*** DONE smmx-hull-visible
     :PROPERTIES:
     :smmx-text-callout-position: 10;-49.95
     :END:
     > show branch borders
*** DONE smmx-collapsed
*** DONE smmx-fill-color
*** DONE smmx-border-style
     "sbsNone"
     "sbsHalfRound"
     "sbsDropRoundRect"
     "sbsRoundRect"
*** DONE smmx-border-width
*** DONE smmx-stroke-style
     "solid",
     "dash-s",
     "dash-m",
     "dash-l"
*** DONE smmx-stroke-color
*** DONT text wrap pos
     > via
     >  => remove
** DONE icon to state [3/3] 
    :PROPERTIES:
    :hide: 
    :END:
*** DONE task state
*** DONE priority [3/3] 
**** DONE next (a)
**** DONE later (b)
**** DONE nice to have (c)
*** DONE resource type
     > when resource-id is present
** ACTV checkbox to item state [1/2] 
*** DONE override when checked / DONE
*** ACTV rollup progress [1/2] 
**** DONE count
**** ACTV [#A] percent
** ACTV text note [7/8] 
*** DONE text
*** DONE callout text to "> description" line
*** DONE smmx-text-callout-position
     > relative coordinate
*** DONE smmx-text-callout-style
     "line",
     "tapered"
*** DONE smmx-text-callout-text-color
*** DONE smmx-text-callout-font-scale
*** DONE smmx-text-callout-fill-color
*** TODO [#A] multiple notes [0/1] 
**** TODO merge
** DONE icon
    :PROPERTIES:
    :smmx-text-callout-position: 86.98;-57.39
    :END:
    > converted to org state (if available)
    > preserve custom icon otherwise
** ACTV links [1/2] 
*** DONE link to info node
*** ACTV [#A] replace .smmx suffix by .org
** ACTV preserve smmx properties [2/3] 
    > convert to org-mode properties
*** DONE embedded-image [2/2] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE name
**** DONE scale
*** DONE image [6/6] 
     :PROPERTIES:
     :hide: 
     :END:
**** DONE name
**** DONE thumbnail
      > preview
**** DONE external links
**** DONE scale
**** DONE angle
**** DONE extract to local fs
*** ACTV xref relations [9/10] 
     > out of tree nodes
**** DONT create links and <<anchors>>
**** DONE target
**** DONE parent
**** DONE store id properties when needed [1/1] 
      :PROPERTIES:
      :hide: 
      :END:
***** DONE generate anchors from title
**** TODO position
      > path custom point
**** DONE line-style
**** DONE target-arrow
**** DONE source arrow
**** DONE line-width
**** DONE color
**** DONE text callout

======================================================== org merge
* TODO org merge [0/2] 
   :PROPERTIES:
   :hide: 
   :END:
** NOTE merge items from one org file into another
    > e.g. after editing a
    > filtered view
** TODO find insert points
** TODO find moved nodes

======================================================== conversion manager
* IDEA conversion manager
   :PROPERTIES:
   :hide: 
   :END:
** NOTE set project directory
    :PROPERTIES:
    :smmx-text-callout-position: 91.88;-53.33
    :END:
    > contains .org, .smmx, .md, .html files
** NOTE check file modification dates
*** TODO check dir modification date (reflects last file modification on windows)
** QUES create backup-<date>.zip before auto-conversion
*** QUES or copy target file to cyclic backup dir ?
*** QUES org push to git
** NOTE auto-convert newer to older files
*** TODO smmx => org
*** TODO org => smmx
*** TODO md => html
** NOTE manually convert
*** DONE smmx => md
*** DONE html => docx


======================================================== org scheduler
* IDEA org scheduler
   :PROPERTIES:
   :hide: 
   :END:
** NOTE find dependencies
** NOTE place tasks on timeline

--------------------------------------------------------- org plan to HTML
* IDEA org plan to html
   :PROPERTIES:
   :hide: 
   :END:
** TODO project plan [0/2] 
*** TODO Gantt graphs [0/2] 
**** TODO via tables
**** TODO later JS editable graphs [0/1] 
      > nsc?
***** TODO copy new org file to clipboard
*** TODO stats [0/3] 
**** TODO total effort
**** TODO total effort by tag
**** TODO total effort by resource
** TODO task list / outline [0/1] 
    > can be imported to word
    > e.g. for technical proposals
*** TODO enumerate
** TODO milestones [0/1] 
*** TODO releases

......................................................... org to xlsx
* IDEA org to xlsx
   :PROPERTIES:
   :hide: 
   :END:
** TODO tkxlsx plugin
    > via libxlsxwriter
    ! https://libxlsxwriter.github.io/tutorial01.html
** TODO WBS export
** DONE Gantt graph project plan export
    ! Gantt graphs in Excel
       :PROPERTIES:
       :was-main: t
       :END:
       ! https://support.office.com/en-us/article/present-your-data-in-a-gantt-chart-in-excel-f8910ab4-ceda-4521-8207-f0fb34d9e2b6

.............................. org to csv
* IDEA org to csv

.............................. org to source
* IDEA org to source
   :PROPERTIES:
   :hide: 
   :END:
** TODO .h or .tks output suffix
** TODO classes [0/5] 
*** TODO exceptions
*** TODO defines
*** TODO enums
*** TODO members [0/1] 
**** TODO type [0/2] 
***** TODO static
***** TODO non-static
*** ACTV methods [1/2] 
**** TODO type [0/2] 
***** TODO static
***** TODO non-static
**** DONE add <method_*.png> decorator depending on method name
      ! method_*.png
** TODO modules [0/2] 
*** TODO multi module
*** TODO extract dirname from output path
** TODO project templates [0/3] 
*** TODO YAC plugin
*** TODO console app
*** TODO UI app
 

