mirror of
https://github.com/flynx/pWiki.git
synced 2025-10-29 18:10:09 +00:00
housekeeping and notes...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
7884a6c556
commit
7f183d3479
91
pwiki2.js
91
pwiki2.js
@ -13,8 +13,9 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* XXX might be a good idea to wrap the wysiwig editor into a separate template
|
* XXX might be a good idea to wrap the wysiwig editor into a separate template
|
||||||
* and use it in the main edit template
|
* and use it in the main edit template to make it user-selectable...
|
||||||
* XXX formalize in-page api...
|
* XXX generalize html/dom api...
|
||||||
|
* ...see refresh() in pwiki2.html
|
||||||
* XXX npx http-server ... -- for testing file access...
|
* XXX npx http-server ... -- for testing file access...
|
||||||
* XXX test pouchdb latency at scale in browser...
|
* XXX test pouchdb latency at scale in browser...
|
||||||
* XXX BUG: for some reason deleting and refreshing takes ~2x as long as
|
* XXX BUG: for some reason deleting and refreshing takes ~2x as long as
|
||||||
@ -27,10 +28,13 @@
|
|||||||
* await pwiki.get('/Test/Subtree/Page2').delete() // fast
|
* await pwiki.get('/Test/Subtree/Page2').delete() // fast
|
||||||
* pwiki.path = '/tree' // reports about ~2sec
|
* pwiki.path = '/tree' // reports about ~2sec
|
||||||
* XXX test with action...
|
* XXX test with action...
|
||||||
* XXX macros: should we keep normal paths in .depends if a matching pattern is present?
|
* ...cane we make everything index-related sync?
|
||||||
* ...would also need a fast way to pattern match...
|
* XXX macros: .depends: need fast path pattern matching...
|
||||||
* XXX macros / CACHE: convert a /path/* dependency to /path/** if a script
|
* XXX macros / CACHE: convert a /path/* dependency to /path/** if a script
|
||||||
* is recursive...
|
* is recursive...
|
||||||
|
* XXX CACHE make index data (.paths, .names, ...) be sync and in-memory...
|
||||||
|
* XXX might also be a good idea to investigate a .tree directory index
|
||||||
|
* as a supplement to .paths()
|
||||||
* XXX CACHE strategy and architecture
|
* XXX CACHE strategy and architecture
|
||||||
* controlled caching
|
* controlled caching
|
||||||
* - cache is a layer of linked data
|
* - cache is a layer of linked data
|
||||||
@ -41,14 +45,11 @@
|
|||||||
* levels:
|
* levels:
|
||||||
* - memory
|
* - memory
|
||||||
* - persistent (???)
|
* - persistent (???)
|
||||||
|
* XXX CACHE need to explicitly prevent caching of some actions/pages...
|
||||||
* XXX IDEA: macros: might be fun to be able to use certain pages as
|
* XXX IDEA: macros: might be fun to be able to use certain pages as
|
||||||
* macros...
|
* macros...
|
||||||
* ...this might even extend to all macros being actions in something
|
* ...this might even extend to all macros being actions in something
|
||||||
* like /.system/macros/...
|
* like /.system/macros/...
|
||||||
* XXX might also be a good idea to investigate a .tree directory index
|
|
||||||
* as a supplement to .paths()
|
|
||||||
* XXX Q: can we access fs from a pwa???
|
|
||||||
* XXX CACHE need to explicitly prevent caching of some actions/pages...
|
|
||||||
* XXX the parser should handle all action return values, including:
|
* XXX the parser should handle all action return values, including:
|
||||||
* - lists -- XXX
|
* - lists -- XXX
|
||||||
* - strings -- DONE
|
* - strings -- DONE
|
||||||
@ -74,6 +75,12 @@
|
|||||||
* +--------------+ . . search
|
* +--------------+ . . search
|
||||||
* order is not relevant here...
|
* order is not relevant here...
|
||||||
* each of the methods narrows down the previous' results
|
* each of the methods narrows down the previous' results
|
||||||
|
* XXX FEATURE list macro paging...
|
||||||
|
* ...should this be macro level or handled in .each()
|
||||||
|
* what mode?
|
||||||
|
* - count + block-offset (preferred)
|
||||||
|
* - count + elem-offset
|
||||||
|
* - from + to
|
||||||
* XXX revise/update sort...
|
* XXX revise/update sort...
|
||||||
* XXX FEATURE tags: might be a good idea to add a .__match__(..) hook
|
* XXX FEATURE tags: might be a good idea to add a .__match__(..) hook
|
||||||
* to enable store-level matching optimization...
|
* to enable store-level matching optimization...
|
||||||
@ -94,8 +101,6 @@
|
|||||||
* i.e. a way to pass tags through path...
|
* i.e. a way to pass tags through path...
|
||||||
* /some/path:tags=a,b,c
|
* /some/path:tags=a,b,c
|
||||||
* XXX FEATURE images...
|
* XXX FEATURE images...
|
||||||
* XXX generalize html/dom api...
|
|
||||||
* ...see refresh() in pwiki2.html
|
|
||||||
* XXX async/live render...
|
* XXX async/live render...
|
||||||
* might be fun to push the async parts of the render to the dom...
|
* might be fun to push the async parts of the render to the dom...
|
||||||
* ...i.e. return a partially rendered DOM with handlers to fill
|
* ...i.e. return a partially rendered DOM with handlers to fill
|
||||||
@ -113,21 +118,9 @@
|
|||||||
* XXX OPTIMIZE CACHE catch page creation -- match pattern path...
|
* XXX OPTIMIZE CACHE catch page creation -- match pattern path...
|
||||||
* 1) explicit subpath matching -- same as .match(..)
|
* 1) explicit subpath matching -- same as .match(..)
|
||||||
* 2) identify recursive patterns -- same as **
|
* 2) identify recursive patterns -- same as **
|
||||||
* XXX Q: empty title???
|
|
||||||
* - special default name
|
|
||||||
* a timestamp or some thing similar
|
|
||||||
* this can be hidden until changed by user
|
|
||||||
* - do we split .name/.path and .title???
|
|
||||||
* ...since pWiki is a wiki, the system-level answer is NO.
|
|
||||||
* XXX do we need something like /System/Actions/.. for fast actions called
|
* XXX do we need something like /System/Actions/.. for fast actions called
|
||||||
* in the same way as direct page actions???
|
* in the same way as direct page actions???
|
||||||
* ...experiment??
|
* ...experiment??
|
||||||
* XXX FEATURE list macro paging...
|
|
||||||
* ...should this be macro level or handled in .each()
|
|
||||||
* what mode?
|
|
||||||
* - count + block-offset (preferred)
|
|
||||||
* - count + elem-offset
|
|
||||||
* - from + to
|
|
||||||
* XXX fs: handle odd file names...
|
* XXX fs: handle odd file names...
|
||||||
* - we need '*' and '**'
|
* - we need '*' and '**'
|
||||||
* - would be nice to be able to name files without
|
* - would be nice to be able to name files without
|
||||||
@ -147,12 +140,6 @@
|
|||||||
* vs.
|
* vs.
|
||||||
* /some/path/!action
|
* /some/path/!action
|
||||||
* ..."!" is removed before the <store>.__<name>__(..) calls...
|
* ..."!" is removed before the <store>.__<name>__(..) calls...
|
||||||
* XXX ENERGETIC revise naming...
|
|
||||||
* XXX ENERGETIC System/time does not seem to work correctly...
|
|
||||||
* ...creating a _time alternative does not work...
|
|
||||||
* XXX OPTIMIZE might be a good idea to make some methods that only access
|
|
||||||
* the index sync -- this will make the store unusable while indexing
|
|
||||||
* though...
|
|
||||||
* XXX OPTIMIZE load pages in packs...
|
* XXX OPTIMIZE load pages in packs...
|
||||||
* might be a good idea to move stuff down the stack to Store:
|
* might be a good idea to move stuff down the stack to Store:
|
||||||
* .each() -> .store.each(<path>)
|
* .each() -> .store.each(<path>)
|
||||||
@ -211,18 +198,10 @@
|
|||||||
* 2) all the macros that can source pages to produce generators (DONE)
|
* 2) all the macros that can source pages to produce generators (DONE)
|
||||||
* XXX might be a good idea to parse a page into an executable/function
|
* XXX might be a good idea to parse a page into an executable/function
|
||||||
* that would render self in a given context...
|
* that would render self in a given context...
|
||||||
* XXX BUG: .move(..) behaves in an odd way...
|
|
||||||
* see: System/move page action
|
|
||||||
* ...deletes the original and moves an empty page -- sync error???
|
|
||||||
* XXX differences in behaviour between _abc and abc, either need to make
|
* XXX differences in behaviour between _abc and abc, either need to make
|
||||||
* them the same or document the differences and the reasons behind
|
* them the same or document the differences and the reasons behind
|
||||||
* them...
|
* them...
|
||||||
* XXX add support for <join> tag in include/source/quote???
|
* XXX add support for <join> tag in include/source/quote???
|
||||||
* XXX BUG?: markdown: when parsing chunks each chunk gets an open/closed
|
|
||||||
* <p> inserted at start/end -- this breaks stuff returned by macros...
|
|
||||||
* ...there are two ways to dance around this:
|
|
||||||
* - make filters run a bit more globaly -- per block...
|
|
||||||
* - find a local parser...
|
|
||||||
* XXX introspection:
|
* XXX introspection:
|
||||||
* /stores -- DONE
|
* /stores -- DONE
|
||||||
* list stores...
|
* list stores...
|
||||||
@ -231,14 +210,11 @@
|
|||||||
* /storage -- XXX
|
* /storage -- XXX
|
||||||
* list storage usage / limits
|
* list storage usage / limits
|
||||||
* XXX BUG: FF: conflict between object.run and PouchDB...
|
* XXX BUG: FF: conflict between object.run and PouchDB...
|
||||||
|
* ...seems to be a race, also affects chrome sometimes...
|
||||||
* XXX add action to reset overloaded (bootstrap/.next) pages...
|
* XXX add action to reset overloaded (bootstrap/.next) pages...
|
||||||
* - per page
|
* - per page
|
||||||
* - global
|
* - global
|
||||||
* XXX CHECK: @macro(..) and @slot(..) must overload in the same way...
|
* XXX TEST @macro(..) and @slot(..) must overload in the same way...
|
||||||
* XXX DEPENDS/CACHE @macro(..) introduces a dependency on count (pattern)
|
|
||||||
* ...not sure how we track these...
|
|
||||||
* XXX revise how we handle .strict mode in page's .raw and .text...
|
|
||||||
* XXX might be a good idea to export HTML from a specific path/pattern...
|
|
||||||
* XXX should render templates (_view and the like) be a special case
|
* XXX should render templates (_view and the like) be a special case
|
||||||
* or render as any other page???
|
* or render as any other page???
|
||||||
* ...currently they are rendered in the context of the page and
|
* ...currently they are rendered in the context of the page and
|
||||||
@ -273,23 +249,23 @@
|
|||||||
* XXX ROADMAP:
|
* XXX ROADMAP:
|
||||||
* - run in browser
|
* - run in browser
|
||||||
* - basics, loading -- DONE
|
* - basics, loading -- DONE
|
||||||
* - test localStorage / sessionStorage -- DONE
|
* - localStorage / sessionStorage -- DONE
|
||||||
* - test pouch -- DONE
|
* - pouchdb -- DONE
|
||||||
* - render page -- DONE
|
* - render page -- DONE
|
||||||
* - navigation -- DONE
|
* - navigation -- DONE
|
||||||
* - hash/anchor -- DONE
|
* - hash/anchor -- DONE
|
||||||
* - action redirects (see: System/delete) -- DONE
|
* - action redirects (see: System/delete) -- DONE (XXX revise)
|
||||||
* - basic editor and interactivity -- DONE
|
* - basic editor and interactivity -- DONE
|
||||||
* - export
|
* - export
|
||||||
* - json -- DONE
|
* - json -- DONE
|
||||||
* - zip (json/tree) --
|
* - zip (json/tree) --
|
||||||
|
* - sync (auto) -- XXX
|
||||||
* - page actions
|
* - page actions
|
||||||
* - delete -- DONE
|
* - delete -- DONE
|
||||||
* - copy/move -- DONE
|
* - copy/move -- DONE
|
||||||
* - resolved (async) -- DONE
|
* - resolved (async) -- DONE
|
||||||
* - migrate/rewrite bootstrap --
|
* - migrate/rewrite bootstrap --
|
||||||
* - store topology -- DONE
|
* - store topology -- DONE
|
||||||
* - sync and sync conf --
|
|
||||||
* - images
|
* - images
|
||||||
* - get --
|
* - get --
|
||||||
* - download --
|
* - download --
|
||||||
@ -298,8 +274,8 @@
|
|||||||
* - get tags from page --
|
* - get tags from page --
|
||||||
* - show tagged pages --
|
* - show tagged pages --
|
||||||
* - search
|
* - search
|
||||||
* - paths
|
* - paths --
|
||||||
* - text
|
* - text --
|
||||||
* - markdown -- DONE
|
* - markdown -- DONE
|
||||||
* - WikiWord -- DONE
|
* - WikiWord -- DONE
|
||||||
* - dom filter mechanics -- DONE
|
* - dom filter mechanics -- DONE
|
||||||
@ -318,7 +294,7 @@
|
|||||||
* - editor
|
* - editor
|
||||||
* basic -- DONE
|
* basic -- DONE
|
||||||
* see: /System/edit
|
* see: /System/edit
|
||||||
* MediumEditor (markdown-plugin)
|
* MediumEditor (markdown-plugin) -- REJECTED XXX
|
||||||
* https://github.com/yabwe/medium-editor
|
* https://github.com/yabwe/medium-editor
|
||||||
* https://github.com/IonicaBizau/medium-editor-markdown
|
* https://github.com/IonicaBizau/medium-editor-markdown
|
||||||
* - heavy-ish markdown plugin
|
* - heavy-ish markdown plugin
|
||||||
@ -336,20 +312,25 @@
|
|||||||
* - templates
|
* - templates
|
||||||
* - all (tree) -- DONE
|
* - all (tree) -- DONE
|
||||||
* - configuration
|
* - configuration
|
||||||
* - defaults
|
* - defaults --
|
||||||
* - System/config (global)
|
* - System/config (global) --
|
||||||
* - pwa
|
* - pwa
|
||||||
* - service worker ???
|
* - service worker -- ???
|
||||||
* ...handle relative urls (???)
|
* ...handle relative urls (???)
|
||||||
|
* - fs access (external sync) -- ???
|
||||||
* - cli
|
* - cli
|
||||||
* - basic wiki manipulations (1:1 methods)
|
* - basic wiki manipulations (1:1 methods)
|
||||||
* - import/export/sync
|
* - import/export/sync
|
||||||
* - introspection/repl
|
* - introspection/repl
|
||||||
* - archive old code
|
* - archive old code --
|
||||||
* - update docs
|
* - update docs --
|
||||||
* - refactor and cleanup
|
* - refactor and cleanup
|
||||||
* - module structure -- REVISE
|
* - module structure -- REVISE
|
||||||
* - pack as electron app (???)
|
* - package
|
||||||
|
* - pwa -- ???
|
||||||
|
* - electron --
|
||||||
|
* - android -- ???
|
||||||
|
* - iOS -- ???
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
@ -357,7 +338,7 @@
|
|||||||
*
|
*
|
||||||
* Architecture:
|
* Architecture:
|
||||||
*
|
*
|
||||||
* store
|
* store <-> index
|
||||||
* ^
|
* ^
|
||||||
* |
|
* |
|
||||||
* page <--> renderer
|
* page <--> renderer
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user