diff --git a/pwiki/page.js b/pwiki/page.js index 7d70e60..80ece8f 100755 --- a/pwiki/page.js +++ b/pwiki/page.js @@ -960,6 +960,7 @@ object.Constructor('Page', BasePage, { // e.g. // ... // ...does not work yet... + // ....currently resolved returns promises.... macro: Macro( ['name', 'src', 'sort', 'text', 'join', 'else', ['strict', 'nonstrict']], async function(args, body, state){ @@ -1114,12 +1115,12 @@ object.Constructor('Page', BasePage, { data() // multiple matches... : data instanceof Array ? - data + Promise.all(data .map(function(d){ return typeof(d) == 'function'? d() : d.text }) - .flat() + .flat()) : data.text )}).call(this) }, set raw(value){ this.__update__({text: value}) }, @@ -1432,7 +1433,7 @@ module.System = { location: function(){ return this.get('..').path }, // XXX this can be a list for pattern paths... - resolved: function(){ + resolved: async function(){ return this.get('..').resolve() }, dir: function(){ return this.get('..').dir }, diff --git a/pwiki2.js b/pwiki2.js index b9c954d..e363307 100755 --- a/pwiki2.js +++ b/pwiki2.js @@ -1,6 +1,8 @@ /********************************************************************** * * +* XXX does @macro(..) have to follow the same overloading rules as @slot(..)??? +* ...does it?? * XXX GENERATOR make pattern path parsing a generator... * ...experiment with a controllable iterator/range thing... * This would require: @@ -15,6 +17,7 @@ * XXX with the current implementation of filters * this can't work as a generator... * ...might be a good idea to make filters local only... +* XXX slots/macros might also pose a problem... * 2) all the macros that can source pages to produce generators: * @include(..) -- DONE * @source(..) -- DONE @@ -23,14 +26,23 @@ * 3) experiment with back-drivable generators... * this can be implemented/tested in parallel and integrated into * the main pipeline if proven successful... -* XXX ranges in pattern paths... +* XXX ranges in pattern paths -- page-size=X page=Y | from=X to=Y / ... * ...url syntax??? +* XXX differenced in behaviour between _abc and abc, either need to make +* them the same or document the differences and the reasons behind +* them... * XXX BUG?: markdown: when parsing chunks each chunk gets an open/closed *

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 add something like /stores to list store info... +* XXX introspection: +* /stores +* list stores... +* /info +* list page/store info +* /storage +* list storage usage / limits * XXX OPTIMIZE: /tree is really slow... * ...is the problem purely in the async/await playing ping-pong??? * XXX BUG: FF: conflict between object.run and PouchDB... @@ -65,7 +77,8 @@ * - page actions * - delete -- DONE * - copy/move -- DONE -* - migrate bootstrap -- +* - resolved (async) -- +* - migrate/rewrite bootstrap -- * - store topology -- * - sync and sync conf -- * - images @@ -78,19 +91,21 @@ * - markdown -- DONE * - WikiWord -- DONE * - dom filter mechanics -- DONE -* - filters / dom filters: -* - markdown?? -* - wikiword (control) +* - filters +* - markdown (???) -- ??? * this can be done in one of two ways: * - wrapping blocks in elemens * ...requires negative filter calls, either on -wikiword * or a different filter like nowikiwords... * - tags (current) * - raw / code -- DONE? -* - all (tree) -- DONE -* - nl2br -* - path2link (wikiword?) -- DONE +* - nl2br -- +* - nowhitespace -- +* clear extra whitespace from text elements +* - dom filters: * - editor +* basic -- DONE +* see: /System/edit * MediumEditor (markdown-plugin) * https://github.com/yabwe/medium-editor * https://github.com/IonicaBizau/medium-editor-markdown @@ -104,6 +119,10 @@ * - not sure if it works on mobile * + small * tiptap (no-markdown, investigate y.js) +* - wikiword / path2link -- +* ..do we need to be able to control this??? +* - templates +* - all (tree) -- DONE * - configuration * - defaults * - System/config (global)