Table of contents

Librarian / Personal Library

%3 cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc Librarian / Personal Library cluster_61082257_5d4d_45f9_8003_ee54df585359 [2/2] Challenges cluster_5b27908f_614d_4f55_a52f_9015ef5c116d [2/5] Use cases cluster_97e7708f_c225_438b_89b6_9365b4c98585 [1/2] Automatic music tracking cluster_1f333e64_2ac2_47b5_82d3_2f9573cae077 Connect to Spotify cluster_0dad6e89_cd57_423b_82c1_b2c0f3c40481 Find linked-from on web-browser cluster_54c370cf_4000_47b9_b401_68496b8e7a84 Organize tasks cluster_8c1a23f6_1d25_4cd8_b872_283d28d8e991 Sync Notion board with cluster_018fe18a_2e8b_4adb_aeda_1c5cb0002fa4 Connect to Notion cluster_e92dabba_63f5_4b28_9bd0_7b2bb69a3811 Mobile cluster_6d6eda1e_d20a_4758_855f_96679244c587 Plan viewer cluster_7ca3f264_d22f_463a_951d_b87b0ee87d68 Agenda cluster_6b979792_fb15_452c_8f7e_9d3367127bcf Web editor cluster_5cb36385_acf4_4e4c_8284_8dc253622683 Change states cluster_5a46b6e5_7110_46e0_9c1c_16fbb566ad2a Add method to update initial page cluster_c4cb0590_90d0_447e_b310_4b039e8c1e1e Fix slowness of webrender? cluster_60c02fae_f241_4656_a795_35081313e0cd Add formatting cluster_bda4f941_6bc2_4cd9_aef5_d57d7ae7a8d8 Drawers cluster_c37ed252_175d_429d_8c33_85ca527b5e26 Structure cluster_3715c402_4308_4b6f_ba60_c0d0b7b52468 [52%] Implementation cluster_97a42ad7_34f8_4eab_ad6e_5e2ea2241fe9 Export scripts cluster_6d0ce466_fd19_4509_8c1f_adc4c1f7b1f9 Search function cluster_9950032c_997a_4ac6_b9e3_dad720e8335a Optimize org-server cluster_7f619649_4378_43b5_9bc6_7226083e6b12 [#C] Application for PinePhone/Android cluster_b2658653_0ceb_4dde_8235_c646d8e8a20c [0/1] Roam function cluster_d01f170b_bb82_489b_87f4_6e0b13136d3b Gitlab synchronization cluster_04a5e184_6de8_48e4_ba27_143d79f9701f References cluster_5dd46ca2_0f64_40bb_9923_e55ec0ea1d22 Re/Linking daemon cluster_c69aa9ef_37a1_4171_91dc_639ee658f710 [4/9] Org-mode parser & editor cluster_e68e7b13_2b33_4381_951a_649aaf65ac5d [0%] Notebook cluster_b3e2f2f3_38c5_4854_a8b6_d4da5ba36d2e [#C] Support gantt scheduling cluster_56abb6d7_aed7_4263_9945_521155cf6aa2 Support planning info write cluster_9a50effd_3f76_4306_9a27_baa0c116bc37 Get hours cluster_7efd29d2_eff5_4aa0_9e4d_aa1a186aba82 Gantt generation _141bcb53_6236_4b63_997f_ad5238a38f90 Avoiding duplication of information _7adb6ad3_03ee_4ce0_8d94_74569d60fcc3 Useful and realiable search function _141bcb53_6236_4b63_997f_ad5238a38f90->_7adb6ad3_03ee_4ce0_8d94_74569d60fcc3 _6fffc7e8_41ea_4b64_8585_30bf1ecb5185 Save data to Org-Mode _4af0ece4_68e4_41e9_bee5_fa656a70ec15 Pull data from Spotify API _ce40e7d0_65dc_47a3_bd82_e4af2185b097 View list of nodes as spreadsheet _00f31d4c_1b8d_43fa_9539_223df085a3d5 Get links not annotated as such on Org _af193f61_d59c_4d71_bc67_25ef7d1ddca9 Auto-reload changes in notes _271c4b9a_b12d_4045_b48c_64da254cb9b1 Weekplan view _a6cc9ba4_7f9d_49e9_9cf2_fa7b5a4bfce4 Pull data from Notion API _09afb9c8_2d7c_4e85_aaf8_7937587f6e7b Show scheduled/deadlines _bba0aa0f_0008_451f_8160_f4e5356988ce Show dates/ranges outside of schedule entry _d4a6358e_53b5_41a3_a81e_0c0674f38ae9 Load CSS from node _329c9218_b40e_4730_b2fb_d0683dbd005c Add headline creation _d4d91ff8_b006_4000_a548_e5cf203d51b7 From opened note _6ab077e8_be68_4408_8a4c_e68247604731 From note list _f6dfcb5a_1562_434e_aea0_b43811b07529 Transclusion _165ebb18_fa52_4fd9_9535_829c40a9932b Prerender SSR + hydrate? _c0681e92_39ee_4603_af44_1d338c8dca00 Add link creation/update _16ee0f88_0233_42a6_9c68_6bceb7b4d705 Improve navigation _5650b028_522f_4b04_8a1d_527e466d1e28 Fix headline update _0da96fa0_8cb7_401a_941f_733c5dadada6 Support content edition on org-rw _4495fdcd_4d4b_47ec_98dd_e77c6a24f3aa Lists _e79479b8_1536_4e8b_8401_7d9a2436a33c Links _f7378b17_327d_48be_a67e_506ed22ebcaa Collapse drawers to line _f575fc56_d4f9_41b6_b63f_5e86aa8bb466 General text _6afd83a6_f815_4f1f_9425_15a8de9715ea Times _962319f1_ad84_4ec4_ad31_0a466a532f9a Fix search function _cf2ab72f_1034_4fee_9731_cd464c186037 Add SQLite-based search function _962319f1_ad84_4ec4_ad31_0a466a532f9a->_cf2ab72f_1034_4fee_9731_cd464c186037 _5dca3f0f_39b3_45a2_8294_5b8ec8790c68 Headline tags _82dd7a12_c56e_4099_b7cb_6dfc5d98ef77 Invocations _64a12dfd_8b3d_404a_8b4b_9219f844074e Old (Ditaa) schema _9bc988e0_946e_41c1_88c5_4616f075ee60 Schema _a786630e_2131_4134_b51d_4a1eb90213bc Initial idea _9e856fec_1ee1_406e_8a48_1c4fa3a4aff3 Platforms to support _2b9d10d7_f0ef_4e6b_ba07_92053764ec03 Server-(plugin)client based scheme _3116a5e7_2a00_4fc9_854d_e75edf78f84b Process _96236b51_490e_40a1_83cc_612bd7953d93 Graph renderization _799638b2_7d0d_4100_8665_7d7bb886c3db Format text _2ee20590_a14b_4f9c_a280_db706c6e1fa1 Nested lists _1f09804d_71ff_4702_947a_43aea549099c Text inside lists _81988954_d96e_4de2_99ea_c18b243a2b3b Images inside lists _a9c8dc6d_e1bc_4d20_b403_4d0496fc964d Invoke from Emacs _a2643095_f570_492e_9313_4587fdd712da Notes Query _a9c8dc6d_e1bc_4d20_b403_4d0496fc964d->_a2643095_f570_492e_9313_4587fdd712da _9a947501_cbf3_485d_b6fd_5db4eea76aca Conquering Kubernetes with Emacs _a9c8dc6d_e1bc_4d20_b403_4d0496fc964d->_9a947501_cbf3_485d_b6fd_5db4eea76aca _8c1f01a0_f95d_48e3_ab51_000f89cac69a Use SQLite to back up data _9b6eb90d_77a0_4182_bb85_527e46be2b39 With Kivy _058901d9_80ad_4cf3_bb7a_f090ce1b7c26 With PySide _b3fdef20_d0a7_4915_b91a_095c197bfead Show .desktop files on PinePhone _b9dfcc37_9bb5_4982_8436_bfddfdb30ea3 Structure _9d117258_17c7_4b24_b3bc_b2b6cdd8909b Automatic archival _6dde2d9c_5a95_4b91_a214_5e98757c109d Graph _c6bbef83_0f55_417c_afcb_ea891ace72f4 Backlinks _8a51ca29_b26e_47f3_9778_bbc9d1894553 Show backlinks on org-mode _c6bbef83_0f55_417c_afcb_ea891ace72f4->_8a51ca29_b26e_47f3_9778_bbc9d1894553 _6fcf78d5_1347_4837_9570_1b6d61d7247b Org-sync _6fbaef44_1a01_4655_a775_e3c1e344a4b8 Magit forge _a3fd3561_7a26_4b72_bae4_d065aee8ed19 Queue manager _ed9c6e4d_cdb7_4e7e_b3c5_55556bfc6a58 Automatically update data on graph _c8d8ec8a_a282_4f66_ad00_1b2dfba08bbc Mail inbox to org-file _d37d47f0_fdf3_4680_b3b7_868605d493db Sync calendar _dd64fdc4_bcfc_4e9d_99fd_56516046372a Sync personal library to calendar _d37d47f0_fdf3_4680_b3b7_868605d493db->_dd64fdc4_bcfc_4e9d_99fd_56516046372a _6d4fc2e7_726e_4c44_8a1e_cee9e0ffbf54 Org-mode base _77ae5f2b_20a6_4320_b025_0cdda1d8ee1a [0/0] Questions _84161d60_8187_4114_8ac0_dfac8e52001b [#C] Sync with Notion _ce3b2218_c892_45ba_b18a_291716e18ef5 Generate hours per project _a27a3f32_5355_4653_a2c8_6ccce14775e7 Expose service showing num of TODOs _a27a3f32_5355_4653_a2c8_6ccce14775e7->__0:cluster_7ca3f264_d22f_463a_951d_b87b0ee87d68 _590774bf_9852_4db5_93ba_ba0c7a66d4da Online Org-change sync _de5e4c0e_6158_4924_8606_8e514b75d2d8 Async editor _de5e4c0e_6158_4924_8606_8e514b75d2d8->_590774bf_9852_4db5_93ba_ba0c7a66d4da _2e699737_3d40_44cd_850e_a96c97e0b1c6 Fix 1w in org-rw _22a3fc56_ecd7_4253_a956_73426b6dcc0a Add support for code snippet and result edition _33e329a9_7558_4c0c_9815_0c14a6157eba GTK based test _ef83934f_c65b_46f5_a4d6_49d129134e77 Link updating mechanism _50e56e78_1afc_4221_96a6_f85be841e782 Support SCHEDULED and DEADLINE _78592253_da27_4e90_8074_7c68e4b1b950 Show uncompleted elements _5657d6ac_6591_4f64_b580_9854d72e444b Support logbook _8c35d6ee_5ac6_41fa_acf3_000dccf525e0 Add support for list parsing _7c03308b_6fa2_4f26_bcc4_0ae3f521f214 Fix tags _7d61237d_66fc_4f2e_b8bb_6fa06e2c7b07 Knowledge graph _7d61237d_66fc_4f2e_b8bb_6fa06e2c7b07->_8c35d6ee_5ac6_41fa_acf3_000dccf525e0 _2f8538c4_aa52_4fea_93ae_4e18ae2e6a53 Support comments _cb9b56c4_2afb_46a9_84e6_08bf48f61fa5 APIs as DBs _c0a1f827_3b8d_4420_8e7e_53a6be13290d Paradise _a6aa82b1_53df_4ca3_ac42_f0051be62151 Archive links from Personal Wiki _217f35ce_404e_49ed_bfd3_cb3ca3f312db personal wiki _a6aa82b1_53df_4ca3_ac42_f0051be62151->_217f35ce_404e_49ed_bfd3_cb3ca3f312db _a6aa82b1_53df_4ca3_ac42_f0051be62151->__1:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc _e5f5d341_9148_4b6c_8b5a_9aff3a2912e4 Xapian _6eed20c1_d778_4b23_a04e_fc245ad8eccd Get graph's island centers _6eed20c1_d778_4b23_a04e_fc245ad8eccd->__2:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc _6fda42b4_b643_438c_9c02_97ea2d9acf40 CardDAV _85415cfe_da14_461d_bf1c_af66b4826e03 Notes graph rendering styles _85415cfe_da14_461d_bf1c_af66b4826e03->__3:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc _a2643095_f570_492e_9313_4587fdd712da->_e5f5d341_9148_4b6c_8b5a_9aff3a2912e4 _a2643095_f570_492e_9313_4587fdd712da->_217f35ce_404e_49ed_bfd3_cb3ca3f312db _a2643095_f570_492e_9313_4587fdd712da->_9a947501_cbf3_485d_b6fd_5db4eea76aca _a2643095_f570_492e_9313_4587fdd712da->__4:cluster_6d0ce466_fd19_4509_8c1f_adc4c1f7b1f9 _06537f77_5589_4982_97b3_2ff8e58e56b8 Introducing ArchiveBox’s New Plugin Ecosystem _06537f77_5589_4982_97b3_2ff8e58e56b8->__5:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc _e9fe78da_e5f1_442b_8d63_9679fc526726 Alexander Obenauer notes _dd64fdc4_bcfc_4e9d_99fd_56516046372a->__6:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc _02ff79f0_00a8_4859_a2ed_a06f92fd0fff Move in-subtree archive to separate archive file _02ff79f0_00a8_4859_a2ed_a06f92fd0fff->__7:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc __8:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc->_cb9b56c4_2afb_46a9_84e6_08bf48f61fa5 __9:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc->_c0a1f827_3b8d_4420_8e7e_53a6be13290d __10:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc->_6fda42b4_b643_438c_9c02_97ea2d9acf40 __11:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc->_217f35ce_404e_49ed_bfd3_cb3ca3f312db __12:cluster_0873a209_b9df_4bf3_b65e_2f425c5a2adc->_e9fe78da_e5f1_442b_8d63_9679fc526726 __13:cluster_7f619649_4378_43b5_9bc6_7226083e6b12->__14:cluster_e92dabba_63f5_4b28_9bd0_7b2bb69a3811 __15:cluster_6d0ce466_fd19_4509_8c1f_adc4c1f7b1f9->_590774bf_9852_4db5_93ba_ba0c7a66d4da __16:cluster_6d0ce466_fd19_4509_8c1f_adc4c1f7b1f9->_e5f5d341_9148_4b6c_8b5a_9aff3a2912e4 __17:cluster_1f333e64_2ac2_47b5_82d3_2f9573cae077->_ed9c6e4d_cdb7_4e7e_b3c5_55556bfc6a58 __18:cluster_018fe18a_2e8b_4adb_aeda_1c5cb0002fa4->_ed9c6e4d_cdb7_4e7e_b3c5_55556bfc6a58 __19:cluster_54c370cf_4000_47b9_b401_68496b8e7a84->__20:cluster_e92dabba_63f5_4b28_9bd0_7b2bb69a3811

A file-system that specifically stores personal notes, and in general useful information and provides convenient access to it in a textual, graphical, and programmatic way.

If it were possible to link notes to a point in space (or just a room), that could create an interesting context if this FS gets presented in [ Augmented Reality ] .

Might be interacted conversationally through a system like Structured Natural Language Interpreter. This might open many multi-channel interactions, like chat clients.

Schema

digraph {
  node[shape=box, style=filled, fillcolor=grey];


  // Inputs
  subgraph cluster_local_files {
    label="Local files"
    style=dashed

    inbox[label="inbox.org", fillcolor=lightgreen];
    plan[label="TODOs", fillcolor=lightgreen]
    notes[label="Notes", fillcolor=lightgreen];
  }

  subgraph cluster_remote_collection {
    label="Remote collection"
    style=dashed

    mailbox[label="IMAP mailbox", fillcolor=lightgreen]
    git[label="Git code repo"];
    gitlab[label="Gitlab issues/MR"]
    notion[label="Notion"]
    caldav[label="Caldav calendar", fillcolor=lightgreen];
    carddav[label="Carddav"];
    gcalendar[label="Google calendar", fillcolor=lightgreen];
  }

  // Processing
  org_parser[label="Org parser", fillcolor=lightgreen];
  plan -> org_parser;
  notes -> org_parser;
  inbox -> org_parser;

  mb_sync[label="Mailbox sync", fillcolor=lightblue, tooltip=mbsync];
  mb_parser[label="Mailbox parser"];

  mailbox -> mb_sync -> mb_parser;

  git_sync[label="Git sync"];
  git_parser[label="Git parser"];
  git -> git_sync -> git_parser;

  gitlab_sync[label="Gitlab sync"];
  gitlab_parser[label="Gitlab parser"];
  gitlab -> gitlab_sync -> gitlab_parser;

  notion_sync[label="Notion sync"];
  notion_parser[label="Notion parser"];
  notion -> notion_sync -> notion_parser;

  carddav_sync[label="Carddav sync"];
  carddav_parser[label="Carddav parser"];

  carddav -> carddav_sync -> carddav_parser;

  caldav_sync[label="Caldav sync", fillcolor=lightgreen];
  caldav_parser[label="Caldav parser", fillcolor=lightgreen];

  caldav -> caldav_sync -> caldav_parser;

  gcalendar -> caldav_sync;

  // Intermediate format
  {
    librarian[label="Librarian system", fillcolor="#ffcc44"];
    org_server[label="Org-Server", fillcolor=lightgreen];

    {
      web_editor[label="Web editor", fillcolor="#ffcc44"];
      emacs[label="Emacs", fillcolor=lightblue];
    }

    emacs -> librarian -> emacs;
    org_server -> web_editor -> org_server;
  }

  org_parser -> librarian;
  mb_parser -> librarian;
  git_parser -> librarian;
  gitlab_parser -> librarian;
  notion_parser -> librarian;
  caldav_parser -> librarian[color=red];
  carddav_parser -> librarian;

  librarian -> org_server -> librarian;

  // Outputs
  {
    rank=same;
    reading_list[label="Wallabag"]
    tech_tree[label="TechTree.svg"]
    planning_viewer[label="Task Viewer", fillcolor="#ffcc44"]
    archives[label="Archives"];
    calendar[label="Calendar"];
    hourly_report[label="Hourly report", fillcolor=lightgreen];
    search[label="Search", fillcolor=lightgreen];
    contact_tsv[label="Sxmo contact TSV"];
    website[label="Public Website", fillcolor=lightgreen];
    browser_extension[label="Browser Extension", fillcolor="#ffcc44"];
  }

  librarian -> reading_list;
  librarian -> tech_tree;
  org_server -> planning_viewer;
  librarian -> archives;
  org_parser -> website;
  librarian -> calendar;
  org_parser -> hourly_report;
  org_parser -> search;
  librarian -> contact_tsv;
  org_server -> browser_extension;
}

  • GIT feels different from the others...

    • Should local files use a disk:/ backend, and have git:/ being another, similar, backend

Process

  • Monitors all org-mode files

  • When it finds a new section, it gives it an :ID: and :REGISTERED_TIME: property.

  • When it finds a new link

    • If it links a section, change to link the section id

    • If it links a section on another file, change to link $file::section (does this have to be done?)

    • If it links a wiki: page, relink to file and section if possible

    • If it links to youtube, add attachment using youtube-dl

    • If it links to a website, download archive and attach

      • Ideally, add to wallabag

  • If a section goes into TODO, add to reading list (unless it's already there)

    • The reading list just contains a link to that section

Old (Ditaa) schema

ARCHIVE

    +--------+ +--------+ +---------+ +-------+ +-------+        +-------------+  +----+
    |Plan.org| |Note.org| |Inbox.org| |wiki.md| |Mailbox|        |Code Git repo|  |Jira|
    +----+---+ +-+------+ +-+-------+ +---+---+ +--+----+        +----+--------+  +--+-+
         |       |          |             |        |                  |              |
         v       v          v             v        v                  v              v
       +---------------------+     +---------+ +--------------+  +----------+   +-----------+
       | Org parser          |     |MD parser| |Mailbox parser|  |Git parser|   |Jira parser|
       +------------+--------+     +----+----+ +--+-----------+  +----+-----+   +----+------+
                    |                   |         |                   |              |
                    v                   v         v                   v              v
               +--------+           +--------+ +--------+       +--------+       +-------+
               |{id,dom}|           |{id,dom}| |{id,dom}|       |{id,dom}|       |id,dom}|
               +----+---+           +---+----+ +--+-----+       +---+----+       +---+---+
                    |                   |         |                 |                |
                    \-------------------+         +-----------------+----------------/
                                        |         |
                                        v         v
              +-------------------------------------------+  +-------+
              |         Librarian                         +->|Updates|->@TODO
              +-----------------+-------------------------+  +-------+
                                |
           +----------------+   |
           |Reading-list.org|<--+
           +----------------+   |
                                |
           +------------+       |
           |TechTree.svg|<------+
           +------------+       |
                                |
           +----------+         |
           |Gantt.puml|<--------+
           +----------+         |
                                |
           +---------------+    |
           |Connections.web|<---+
           +---------------+

file:data/9b/c988e0-946e-41c1-88c5-4616f075ee60/schema.png

Invocations

     @startuml

     autonumber

     participant sync
     participant parser
     participant librarian
     participant scripts
     participant output


     note over librarian
             Reads sync times from
             a cron-like file
     end note

     activate librarian

     par periodic synchronization
             librarian -> sync ++ : (async) Time to synchronize

             sync -> parser ++ : New data
             note over parser
                     Converts input data
                     in data blocks of
                     { id, metadata, DOM }[]
             end note
             parser -> librarian : Data blocks
             parser <-- librarian : Ok
             sync <-- parser -- : Ok

     deactivate sync
     end par

     librarian -> scripts ++ : New data

     loop script operation
       scripts -> librarian ++ : Request relevant data
       scripts <-- librarian -- : Data
     end loop

     scripts -> output  : Produce
     librarian <-- scripts -- : Ok, new data integrated

     deactivate librarian

     @enduml

file:data/82/dd7a12-c56e-4099-b7cb-6dfc5d98ef77/calls.png

[ 52% ] Implementation

side

Most work has been moved to Complete note rendering system.

DONE

Generate hours per project

  • Used for

    Actualizar hoja de horas

  • Commit

    ~/repos/librarian/ (magit-rev e38d08e)

DISCARDED

Async editor

DONE

Export scripts

Images inside lists

  • Moved to

    Note rendering system > Images

DONE

Graph renderization

DONE

Expose service showing num of TODOs

  • TaskDAV?

  • GraphQL, probably doable already, if not, done with Agenda

DISCARDED

Mail inbox to org-file

  • Excessive…

TODO

Automatic archival

  • Can be based on miniarchiver?

  • Httrack works better

  • Wallabag!

TODO

Queue manager

  • Groups the tasks tagged with :q: in a list, which can be ordered to establish priorities.

  • When a task is completed, the next one is scheduled for today (and so it appears on the agenda).

  • Email as queueing system?

DONE

[ #C ] Application for PinePhone/Android

DISCARDED

With Kivy

DISCARDED

With PySide

DONE

Fix 1w in org-rw

  • Commit

    ~/repos/org-rw/ (magit-rev a67bde5)

TODO

Gitlab synchronization

  • Link local tasks with gitlab issues

    • Can be done with a normal ~- Entry

      Value~ or with a property

  • Tags will be represented on the list tool

    • Either as a proper task tag or as a

  • Status (as in a kanban board) can be represented with either state or with a sublist

    • The proper org-mode way is using the state

    • But the visual way would be to have a list per state

  • If comments are synced, it would only be from Gitlab to OrgMode, not the other way round

References

DONE

Org-sync

  • On GH

    https://github.com/arbox/org-sync

  • Tagline

    Synchronize Org-mode Files with Bug Tracking systems

  • Pros

    • Fast

    • Pulls the data to work offline

  • Cons

    • No markup translation (just ':') prefixed

    • Fast because it just pulls the latest 100 issues (not the earlier ones)

DONE

Magit forge

TODO

Re/Linking daemon

TODO

[ 4/9 ] Org-mode parser & editor

SOMETIME

GTK based test

DONE

Fix tags

  • What is the problem?

    • Fixed non-ascii letters

TODO

Gantt generation

  • Wouldn't it be more usefult to generate the tasks from the Gantt?

    • Would this need to parse the Gantt?

    • Two way sync would be great :)

TODO

Support comments

  • Don't confuse with # on Markdown snippets

  • Check that they don't collide with CLOCKs

DONE

Search function

  • Test index

    Xapian

  • Test commit

    ~/repos/codigoparallevar/ (magit-rev 16657d9)

  • Base implementation for plibrarian

    ~/cloud/nextcloud/librarian/ (magit-rev 2eb01da)

  • Requires

    Online Org-change sync

DONE

Invoke from Emacs

DONE

Structure

  • Everything is a note

    • example

      • computer terminal is a note

      • tty is a note

        • has reference as related with "computer terminals"

      • vt100 is a note

        • has reference as subgroup of "computer terminal"

      • vt100Codes is a note

        • has reference as part of "vt100"

        • tables with content is a section

        • references is a section

TODO

[ 0/1 ] Roam function

  • See org-roam

TODO

Graph

Working, but not useful in it's current form.

[ 0/0 ] Questions

  • CamelCase for note auto-linking?

    • Nah... maybe [ Entity ] for looking up when a new note is added, to check if it was already referenced.

  • [ ] Structure?

  • Review script?

    • Maybe related to latest changes?

      • Git

[ 2/5 ] Use cases

DONE

Find linked-from on web-browser

Expose on GraphQL links, consume on browser plugin and show if there are some notes linked at the current point

DONE

Get links not annotated as such on Org

  • Commit

    [985098e] Find web links not marked as such when returning `doc.get_links()`.

DONE

Auto-reload changes in notes

  • Commit

    [8ab3bbd] Add auto-reload of collection.

DONE

Organize tasks

  • Other use-cases absorbed by

    Mobile

TODO

Mobile

TODO

Web editor

DONE

Fix slowness of webrender?

  • Lag added by uBlock origin + AdNauseam

    • Deactivating for page is not enough (either on file schema or 127.0.0.1)

    • Disabling one of them leaves the loading time in 100ms-200ms

    • Disabling both leaves it on 50ms-100ms

  • Actions

    • On firefox

      • Disabled AdNauseam, left with only uBO enabled (personal choice)

      • Disabled Unclock canonical names on uBO

    • Just use Epiphany for this

DONE

Headline tags

  • On Server

    [10f5c1c] Add handle to update headline tags.

  • On Client

    [300ddb0] Handle headline tags.

TODO

Add formatting

DONE

Links

  • Commit

    [18e1fb1] Support displaying links in web editor.

TODO

Times

TODO

Lists

TODO

Agenda

DONE

Load CSS from node

  • Node

    Styles

Structure

Initial idea

  • Should allow for plugins

    • Scripting language

  • Should allow to connect to other programs

    • Easy IPC

  • Reasonable performant

  • As multi-platform as possible

Server-(plugin)client based scheme

  • Central server has access to the files

  • Parsers are pushed to plugins

  • Communication is done through websockets

  • Pros

    • Flexibility for plugin implementation

    • Easy isolation of plugins (in containers?)

  • Cons

    • Complexity

    • Problems with portability out of a computer environment

Platforms to support

  • Desktop

  • Web

  • Mobile

  • So

    Clojure-Script

  • Pros

    • Portability

    • Hot-code loading

  • Cons

    • Lack of flexibility

    • Non-mainstream language

      • Then, Kotlin?