refactor(users/grfn): Rename gws.fyi -> web
Change-Id: Icdee0caa3a053958750d4b81853dbc3eee5b193a Reviewed-on: https://cl.tvl.fyi/c/depot/+/9973 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: grfn <grfn@gws.fyi>
This commit is contained in:
		
							parent
							
								
									f3dea2ffbc
								
							
						
					
					
						commit
						1027754b86
					
				
					 11 changed files with 7 additions and 9 deletions
				
			
		
							
								
								
									
										67
									
								
								users/grfn/web/orgExportHTML.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								users/grfn/web/orgExportHTML.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,67 @@ | |||
| { pkgs, depot, ... }: | ||||
| 
 | ||||
| with pkgs; | ||||
| with lib; | ||||
| 
 | ||||
| let | ||||
| 
 | ||||
|   emacs = pkgs.emacs28; | ||||
| 
 | ||||
| in | ||||
| 
 | ||||
| opts: | ||||
| 
 | ||||
| let | ||||
|   src = if isAttrs opts then opts.src else opts; | ||||
|   headline = if isAttrs opts then opts.headline else null; | ||||
| 
 | ||||
|   bn = builtins.baseNameOf src; | ||||
|   filename = elemAt (splitString "." bn) 0; | ||||
| 
 | ||||
|   outName = | ||||
|     if isNull headline | ||||
|     then | ||||
|       let | ||||
|         bn = builtins.baseNameOf src; | ||||
|         filename = elemAt (splitString "." bn) 0; | ||||
|       in | ||||
|       if depot.nix.utils.isDirectory src | ||||
|       then filename | ||||
|       else filename + ".html" | ||||
|     else "${filename}-${replaceStrings [" "] ["-"] filename}.html"; | ||||
| 
 | ||||
|   escapeDoubleQuotes = replaceStrings [ "\"" ] [ "\\\"" ]; | ||||
| 
 | ||||
|   navToHeadline = optionalString (! isNull headline) '' | ||||
|     (search-forward "${escapeDoubleQuotes headline}") | ||||
|     (org-narrow-to-subtree) | ||||
|   ''; | ||||
| 
 | ||||
| in | ||||
| 
 | ||||
| runCommand outName { inherit src; } '' | ||||
|   buildFile() { | ||||
|     cp "$1" file.org | ||||
|     ${emacs}/bin/emacs --batch \ | ||||
|       --load ${./config.el} \ | ||||
|       --visit file.org \ | ||||
|       --eval "(progn | ||||
|         ${escapeDoubleQuotes navToHeadline} | ||||
|         (org-html-export-to-html))" \ | ||||
|       --kill | ||||
|     rm file.org | ||||
|     substitute file.html "$2" \ | ||||
|       --replace '<title>‎</title>' "" | ||||
|     rm file.html | ||||
|   } | ||||
| 
 | ||||
|   if [ -d $src ]; then | ||||
|     for file in $src/*; do | ||||
|       result=''${file/$src/$out} | ||||
|       mkdir -p $(dirname $result) | ||||
|       buildFile $file ''${result/.org/.html} | ||||
|     done | ||||
|   else | ||||
|     buildFile $src $out | ||||
|   fi | ||||
| '' | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue