mirror of
https://github.com/flynx/pWiki.git
synced 2025-11-01 03:20:08 +00:00
bugfix + some tweaking...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
59eff6cf05
commit
54ca3252bf
@ -126,7 +126,9 @@ object.Constructor('BasePage', {
|
|||||||
},
|
},
|
||||||
resolvePathVars: function(path='', context={}){
|
resolvePathVars: function(path='', context={}){
|
||||||
var that = this
|
var that = this
|
||||||
return pwpath.normalize(
|
return path == '.' ?
|
||||||
|
path
|
||||||
|
: pwpath.normalize(
|
||||||
Object.entries(this.path_vars)
|
Object.entries(this.path_vars)
|
||||||
.reduce(function(res, [key, func]){
|
.reduce(function(res, [key, func]){
|
||||||
return res
|
return res
|
||||||
@ -990,7 +992,8 @@ object.Constructor('Page', BasePage, {
|
|||||||
depends,
|
depends,
|
||||||
renderer: state.renderer,
|
renderer: state.renderer,
|
||||||
})}
|
})}
|
||||||
: this.get(src)
|
//: this.get(src)
|
||||||
|
: this
|
||||||
.parse(state) }
|
.parse(state) }
|
||||||
|
|
||||||
var first = true
|
var first = true
|
||||||
@ -2064,7 +2067,12 @@ module.System = {
|
|||||||
|
|
||||||
type: @source(../type)<br>
|
type: @source(../type)<br>
|
||||||
|
|
||||||
tags: @source(../tags join=", ")<br>
|
tags:
|
||||||
|
<macro name="list-tags" src="../tags">
|
||||||
|
<a href="#/**/path:tags=@source(.)">@source(.)</a>
|
||||||
|
</macro><br>
|
||||||
|
related tags:
|
||||||
|
<macro name="list-tags" src="../relatedTags"/><br>
|
||||||
|
|
||||||
ctime: @source(../ctime)<br>
|
ctime: @source(../ctime)<br>
|
||||||
mtime: @source(../mtime)<br>
|
mtime: @source(../mtime)<br>
|
||||||
|
|||||||
@ -283,13 +283,14 @@ module.BaseStore = {
|
|||||||
return this.__tags() },
|
return this.__tags() },
|
||||||
|
|
||||||
relatedTags: function*(...tags){
|
relatedTags: function*(...tags){
|
||||||
var cur = tags
|
var cur = new Set(tags)
|
||||||
var {tags, paths} = this.tags
|
var {tags, paths} = this.tags
|
||||||
var seen = new Set()
|
var seen = new Set()
|
||||||
for(var tag of cur){
|
for(var tag of cur){
|
||||||
for(var p of tags[tag] ?? []){
|
for(var p of tags[tag] ?? []){
|
||||||
for(var t of paths[p] ?? []){
|
for(var t of paths[p] ?? []){
|
||||||
if(!seen.has(t)){
|
if(!seen.has(t)
|
||||||
|
&& !cur.has(t)){
|
||||||
seen.add(t)
|
seen.add(t)
|
||||||
yield t } } } } },
|
yield t } } } } },
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,15 @@
|
|||||||
* - CLI -
|
* - CLI -
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
* XXX BUG: parser:
|
||||||
|
* This will break:
|
||||||
|
* <macro src=../tags join=", ">@source(.)</macro><br>
|
||||||
|
* This will not:
|
||||||
|
* <macro src="../tags" join=", ">@source(.)</macro><br>
|
||||||
|
* XXX LIST BUG: <macro>: sourcing an element of a list does not work...
|
||||||
|
* Example:
|
||||||
|
* await pwiki.parse('<macro src="/WikiHome/tags">@source(.)</macro>')
|
||||||
|
* XXX do we need a way to index a list item via path???
|
||||||
* XXX TAGS
|
* XXX TAGS
|
||||||
* - add tags to page -- macro/filter
|
* - add tags to page -- macro/filter
|
||||||
* - <page>.text -> <page>.tags (cached on .update(..))
|
* - <page>.text -> <page>.tags (cached on .update(..))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user