mirror of
				https://github.com/flynx/pWiki.git
				synced 2025-11-04 04:50:09 +00:00 
			
		
		
		
	fixed macro reuse...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									f8e5b88a09
								
							
						
					
					
						commit
						561de44f54
					
				@ -954,11 +954,7 @@ object.Constructor('Page', BasePage, {
 | 
				
			|||||||
		// XXX SORT sorting not implemented yet....
 | 
							// XXX SORT sorting not implemented yet....
 | 
				
			||||||
		macro: Macro(
 | 
							macro: Macro(
 | 
				
			||||||
			['name', 'src', 'sort', 'text', 'join', 'else', ['strict', 'nonstrict']],
 | 
								['name', 'src', 'sort', 'text', 'join', 'else', ['strict', 'nonstrict']],
 | 
				
			||||||
			// XXX GENERATOR...
 | 
					 | 
				
			||||||
			async function*(args, body, state){
 | 
								async function*(args, body, state){
 | 
				
			||||||
			/*/
 | 
					 | 
				
			||||||
			async function(args, body, state){
 | 
					 | 
				
			||||||
			//*/
 | 
					 | 
				
			||||||
				var that = this
 | 
									var that = this
 | 
				
			||||||
				var name = args.name //?? args[0]
 | 
									var name = args.name //?? args[0]
 | 
				
			||||||
				var src = args.src
 | 
									var src = args.src
 | 
				
			||||||
@ -976,6 +972,7 @@ object.Constructor('Page', BasePage, {
 | 
				
			|||||||
					: text
 | 
										: text
 | 
				
			||||||
				var strict = args.strict
 | 
									var strict = args.strict
 | 
				
			||||||
					&& !args.nonstrict
 | 
										&& !args.nonstrict
 | 
				
			||||||
 | 
									var join
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				var _getBlock = function(name){
 | 
									var _getBlock = function(name){
 | 
				
			||||||
					var block = args[name] ?
 | 
										var block = args[name] ?
 | 
				
			||||||
@ -1000,17 +997,21 @@ object.Constructor('Page', BasePage, {
 | 
				
			|||||||
				if(name){
 | 
									if(name){
 | 
				
			||||||
					name = await base.parse(name, state)
 | 
										name = await base.parse(name, state)
 | 
				
			||||||
					// define new named macro...
 | 
										// define new named macro...
 | 
				
			||||||
					if(text){
 | 
										if(text.length != 0){
 | 
				
			||||||
						;(state.macros = state.macros ?? {})[name] = text
 | 
											// NOTE: we do not need to worry about saving 
 | 
				
			||||||
 | 
											// 		stateful text here because it is only 
 | 
				
			||||||
 | 
											// 		grouped and not expanded...
 | 
				
			||||||
 | 
											;(state.macros = state.macros ?? {})[name] = [text, _getBlock('join')]
 | 
				
			||||||
					// use existing macro...
 | 
										// use existing macro...
 | 
				
			||||||
					} else if(state.macros 
 | 
										} else if(state.macros 
 | 
				
			||||||
							&& name in state.macros){
 | 
												&& name in state.macros){
 | 
				
			||||||
						text = state.macros[name] } }
 | 
											[text, join] = state.macros[name] } }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if(src){
 | 
									if(src){
 | 
				
			||||||
					src = await base.parse(src, state)
 | 
										src = await base.parse(src, state)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					var join = _getBlock('join') 
 | 
										join = _getBlock('join') 
 | 
				
			||||||
 | 
											?? join 
 | 
				
			||||||
					join = join
 | 
										join = join
 | 
				
			||||||
						&& await base.parse(join, state)
 | 
											&& await base.parse(join, state)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1590,6 +1591,16 @@ module.Test = {
 | 
				
			|||||||
			<slot name="mixed-slot-content">
 | 
								<slot name="mixed-slot-content">
 | 
				
			||||||
				<content/> Z
 | 
									<content/> Z
 | 
				
			||||||
			</slot> ` },
 | 
								</slot> ` },
 | 
				
			||||||
 | 
						macros: {
 | 
				
			||||||
 | 
							text: object.doc`
 | 
				
			||||||
 | 
								<macro name="list" join="<br>">
 | 
				
			||||||
 | 
									- @include(./path)
 | 
				
			||||||
 | 
								</macro>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								<macro name="list" src="/Test/*"/>
 | 
				
			||||||
 | 
								<br><br>
 | 
				
			||||||
 | 
								<macro name="list" src="/Test/*" join=",<br>"/>
 | 
				
			||||||
 | 
							`},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var Settings =
 | 
					var Settings =
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user