documenttree.jl

Pollen/rewriters/documenttree.jl is a source file in module Pollen

			
			
			
			function
			 
			
			makedoctree
			(
			
			d
			::
			Dict
			)
			
			
    
			
			return
			 
			

	
			Node
			(
			
			:
			doctree
			,
			 
			
			[
			

	
			Node
			(
			
			:
			ul
			,
			 
			
			[
			
			
			makedoctree
			(
			name
			,
			 
			val
			)
			 
			for
			
			 
			
			(
			name
			,
			 
			val
			)
			 
			in
			 
			d
			]
			)
			]
			)
			

			end
			

			

			
			function
			 
			
			makedoctree
			(
			
			name
			::
			String
			,
			 
			path
			)
			
			
    
			
			link
			 
			=
			 
			

	
			Node
			(
			
			:
			a
			,
			 
			
			Dict
			(
			
			
			:
			href
			 
			=>
			 
			
			"
			/
			$
			path
			"
			)
			,
			 
			
			[
			

	
			Leaf
			(
			name
			)
			]
			)
			
    
			
			return
			 
			

	
			Node
			(
			
			:
			li
			,
			 
			
			[
			link
			]
			)
			

			end
			

			

			
			function
			 
			
			makedoctree
			(
			
			name
			::
			String
			,
			 
			
			d
			::
			Dict
			)
			
			
    
			
			return
			 
			

	
			Node
			(
			
			:
			li
			,
			 
			
			[
			

	
			Leaf
			(
			name
			)
			,
			 
			

	
			Node
			(
			
			:
			ul
			,
			 
			
			[
			
			
			makedoctree
			(
			n
			,
			 
			val
			)
			 
			for
			
			 
			
			(
			n
			,
			 
			val
			)
			 
			in
			 
			d
			]
			)
			]
			)
			

			end
			

			

			
			function
			 
			
			loaddoctree
			(
			
			p
			::
			AbstractPath
			)
			
			
    
			
			xdoctree
			 
			=
			 
			
			
			Pollen
			.
			

	
			parse
			(
			p
			)
			
    
			
			xdoctree
			 
			=
			 
			
			

	
			cata
			(
			xdoctree
			,
			 
			
			

	
			SelectTag
			(
			
			:
			a
			)
			 
			&
			 
			

	
			SelectHasAttr
			(
			
			:
			href
			)
			)
			 
			do
			
			 
			x
			
			
        
			
			href
			 
			=
			 
			
			

	
			attributes
			(
			x
			)
			[
			
			:
			href
			]
			
        
			
			if
			 
			
			!
			
			startswith
			(
			href
			,
			 
			'/'
			)
			
			
            
			
			href
			 
			=
			
			 
			
			"
			/
			"
			 
			*
			 
			href
			
        
			end
			
        
			
			
			

	
			attributes
			(
			x
			)
			[
			
			:
			href
			]
			 
			=
			 
			href
			
        
			
			return
			 
			x
			
    
			end
			
    
			
			return
			 
			

	
			Node
			(
			
			:
			doctree
			,
			 
			
			[
			xdoctree
			]
			)
			

			end