2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								"use strict" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								angular  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  . module ( "myApp.post" ,  [ "ngRoute" ] ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  . config ( [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "$routeProvider" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  ( $routeProvider )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $routeProvider . when ( "/post" ,  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        templateUrl :  "views/post/post.html" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        controller :  "PostCtrl as Post" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ] ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  . controller ( "PostCtrl" ,  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "$scope" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "$location" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "$timeout" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "Desirae" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  ( $scope ,  $location ,  $timeout ,  DesiraeService )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      var  scope  =  this , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        path  =  window . path ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      function  init ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        DesiraeService . meta ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . then ( function  ( desi )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / * 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-21 13:38:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      if  ( ! scope . site . base _url )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        window . alert ( "Please go to the site tab and add a url first" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      * / 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            scope . blogdir  =  desi . blogdir . path . replace ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              /^\/(Users|home)\/[^\/]+\// , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              "~/" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . site  =  desi . site ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . env  =  desi . site ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            newPost ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( /dropbox/ . test ( scope . site . base _url ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              scope . env . explicitIndexes  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            updateDate ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . catch ( function  ( e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            window . alert ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              "An Error Occured. Most errors that occur in the init phase are parse errors in the config files or permissions errors on files or directories, but check the error console for details." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            console . error ( e ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            throw  e ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 03:18:13 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        scope . extensions  =  [ "md" ,  "html" ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-21 13:38:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      function  newPost ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        scope . selected  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          format :  "md" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          permalink :  "/article/new.html" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          uuid :  window . uuid . v4 ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          abspath :  scope . blogdir , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          sourcepath :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          fileepath :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          post :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            yml :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              title :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              permalink :  "/article/new.html" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              date :  DesiraeService . toDesiDate ( new  Date ( ) ) ,  // "YYYY-MM-DD HH:MM pm" // TODO desirae
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              updated :  null , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              description :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              categories :  [ ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              tags :  [ ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              theme :  null , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              layout :  null , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              swatch :  null , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        scope . selected . date  =  scope . selected . post . yml . date ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        scope . selected . post . frontmatter  =  window . jsyaml 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . dump ( scope . selected . post . yml ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . trim ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 03:18:13 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      scope . onChange  =  function  ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  post  =  scope . selected . post , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selected  =  scope . selected ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        post . yml . title  =  post . yml . title  ||  "" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        selected . title  =  post . yml . title ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        post . yml . description  =  post . yml . description  ||  "" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        scope . slug  =  post . yml . title 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . toLowerCase ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . replace ( /["']/g ,  "" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . replace ( /\W/g ,  "-" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . replace ( /^-+/g ,  "" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . replace ( /-+$/g ,  "" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . replace ( /--/g ,  "-" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( selected . permalink  ===  post . yml . permalink )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selected . permalink  =  "/articles/"  +  scope . slug  +  "/" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          // + '.html' //+ selected.format
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          post . yml . permalink  =  selected . permalink ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        / * 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-23 20:09:50 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  ( path . extname ( post . yml . permalink )  !==  '.'  +  selected . format )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 03:18:13 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								     post . yml . permalink  =  post . yml . permalink . replace ( /\.\w+$/ ,  '.'  +  selected . format ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 04:55:16 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    * / 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 03:18:13 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        post . frontmatter  =  window . jsyaml . dump ( post . yml ) . trim ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 03:18:13 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        // TODO use some sort of filepath pattern in config.yml
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        selected . path  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . env . compiled _path  ||  "compiled" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          post . yml . permalink 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! /\.html?$/ . test ( selected . path ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selected . path  =  path . join ( selected . path ,  "index.html" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 14:50:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        selected . url  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . site . base _url  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            path . join ( scope . site . base _path ,  post . yml . permalink ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( scope . env . explicitIndexes  &&  /\/$/ . test ( selected . url ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selected . url  +=  "index.html" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        selected . markdown  =  "["  +  selected . title  +  "]("  +  selected . url  +  ")" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        selected . ahref  = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          '<a href="'  +  selected . url  +  '">'  +  selected . title  +  "</a>" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        selected . abspath  =  path . join ( scope . blogdir ,  selected . path ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        selected . filepath  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selected . collection  ||  "posts" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . slug  +  "."  +  selected . format 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        selected . sourcepath  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . blogdir , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          selected . collection  ||  "posts" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . slug  +  "."  +  selected . format 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      scope . onFrontmatterChange  =  function  ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  data ,  post ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 04:55:16 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          if  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ! scope . selected . post . frontmatter  || 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ! scope . selected . post . frontmatter . trim ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            throw  new  Error ( "deleted frontmatter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          data  =  window . jsyaml . load ( scope . selected . post . frontmatter ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          //scope.selected.format = data.permalink.replace(/.*\.(\w+$)/, '$1');
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          if  ( ! data . permalink )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            data  =  scope . selected . permalink ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . selected . post . yml  =  data ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 14:50:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          post  =  scope . selected . post ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-21 13:38:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          scope . selected . path  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . env . compiled _path  ||  "compiled" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            post . yml . permalink 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          if  ( ! /\.html?$/ . test ( path . basename ( post . yml . permalink ) ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . path  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              scope . selected . path . replace ( /\.w+$/ ,  "" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              "index.html" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 03:18:13 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          scope . selected . url  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . site . base _url  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              path . join ( scope . site . base _path ,  post . yml . permalink ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          if  ( scope . env . explicitIndexes  &&  /\/$/ . test ( scope . selected . url ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . url  +=  "index.html" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . selected . abspath  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . blogdir , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . path 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . selected . sourcepath  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . blogdir , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . collection  ||  "posts" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . slug  +  "."  +  scope . selected . format 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . selected . filepath  =  path . join ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . collection  ||  "posts" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . slug  +  "."  +  scope . selected . format 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  catch  ( e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          console . error ( e ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          console . error ( "ignoring update that created parse error" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . selected . post . frontmatter  =  window . jsyaml 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            . dump ( scope . selected . post . yml ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            . trim ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 03:18:13 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      function  updateDate ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $timeout . cancel ( scope . dtlock ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        scope . dtlock  =  $timeout ( function  ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          if  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected  && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . date  ===  scope . selected . post . yml . date 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . date  =  scope . selected . post . yml . date  =  DesiraeService . toDesiDate ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              new  Date ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          scope . onChange ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          updateDate ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ,  60  *  1000 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-13 03:18:13 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-08 20:30:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      scope . upsert  =  function  ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( - 1  ===  scope . extensions . indexOf ( scope . selected . format ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          window . alert ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            "."  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              scope . selected . format  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              " is not a supported extension.\n\nPlease choose from: ."  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              scope . extensions . join ( " ." ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        scope . selected . post . yml . uuid  =  scope . selected . uuid ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        [ "updated" ,  "theme" ,  "layout" ,  "swatch" ] . forEach ( function  ( key )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          if  ( ! scope . selected . post . yml [ key ] )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            delete  scope . selected . post . yml [ key ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        scope . onChange ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  files  =  [ ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        files . push ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          path :  scope . selected . filepath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          contents : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            "---\n"  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . post . frontmatter . trim ( )  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            "\n"  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            "---\n"  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            "\n"  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            scope . selected . post . body . trim ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        DesiraeService . putFiles ( files ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . then ( function  ( results )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            console . log ( "TODO check for error" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            console . log ( files ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            console . log ( results ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $location . path ( "/build" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          . catch ( function  ( e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $timeout . cancel ( scope . dtlock ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            console . error ( scope . site ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            console . error ( e ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            window . alert ( "Error Nation! :/" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            throw  e ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      init ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ] ) ;