forked from fediversity/fediversity
		
	add stylesheet with fonts
This commit is contained in:
		
							parent
							
								
									419f2b881b
								
							
						
					
					
						commit
						27a7ba84bd
					
				
					 6 changed files with 73 additions and 4 deletions
				
			
		
							
								
								
									
										12
									
								
								website/presentation/style.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								website/presentation/style.css
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| body { | ||||
|   font-family: Heebo, sans-serif; | ||||
|   padding: 1em; | ||||
|   max-width: 50em; | ||||
|   margin: auto; | ||||
| } | ||||
| 
 | ||||
| h1, h2, h3, h4, h5, h6 | ||||
| { | ||||
|   font-family: Signika, sans-serif; | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										53
									
								
								website/presentation/style.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								website/presentation/style.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| { config, lib, pkgs, ... }: { | ||||
|   config.assets."style.css".path = ./style.css; | ||||
|   config.assets."fonts.css".path = with lib; builtins.toFile "fonts.css" (join "\n" (map | ||||
|     (font: '' | ||||
|       @font-face { | ||||
|         font-family: '${font.name}'; | ||||
|         font-style: normal; | ||||
|         font-weight: ${toString font.weight}; | ||||
|         src: url(/${head config.assets.${font.file}.locations}) format('woff2'); | ||||
|       } | ||||
|     '') | ||||
|     ( | ||||
|       (crossLists (name: file: weight: { inherit name file weight; }) | ||||
|         [ [ "Signika " ] [ "signika-extended.woff2" "signika.woff2" ] [ 500 700 ] ] | ||||
|       ) | ||||
|       ++ | ||||
|       (crossLists (name: file: weight: { inherit name file weight; }) | ||||
|         [ [ "Heebo " ] [ "heebo-extended.woff2" "heebo.woff2" ] [ 400 600 ] ] | ||||
|       ) | ||||
|     ) | ||||
|   )); | ||||
| 
 | ||||
|   # TODO: get directly from https://github.com/google/fonts | ||||
|   #       and compress with https://github.com/fonttools/fonttools | ||||
|   config.assets."signika-extended.woff2" = { | ||||
|     path = pkgs.fetchurl { | ||||
|       url = "https://fonts.gstatic.com/s/signika/v25/vEFO2_JTCgwQ5ejvMV0Ox_Kg1UwJ0tKfX6bOjM7sfA.woff2"; | ||||
|       hash = "sha256-6xM7cHYlTKNf1b0gpqhPJjwOoZfxx9+u1e4JPYG2lKk="; | ||||
|       name = "signika-extended.woff2"; | ||||
|     }; | ||||
|   }; | ||||
|   config.assets."signika.woff2" = { | ||||
|     path = pkgs.fetchurl { | ||||
|       url = "https://fonts.gstatic.com/s/signika/v25/vEFO2_JTCgwQ5ejvMV0Ox_Kg1UwJ0tKfX6bBjM4.woff2"; | ||||
|       hash = "sha256-Yu0kGT3seb8Qtulu84wvY6nLyPXsRBO/JvTD2BQBtHg="; | ||||
|       name = "signika.woff2"; | ||||
|     }; | ||||
|   }; | ||||
|   config.assets."heebo-extended.woff2" = { | ||||
|     path = pkgs.fetchurl { | ||||
|       url = "https://fonts.gstatic.com/s/heebo/v26/NGS6v5_NC0k9P9H2TbE.woff2"; | ||||
|       hash = "sha256-lk3+fFEqYWbHHGyXkdhKnOOMGS9m5ZbbxQcRQCSlxDE="; | ||||
|       name = "heebo-extended.woff2"; | ||||
|     }; | ||||
|   }; | ||||
|   config.assets."heebo.woff2" = { | ||||
|     path = pkgs.fetchurl { | ||||
|       url = "https://fonts.gstatic.com/s/heebo/v26/NGS6v5_NC0k9P9H4TbFzsQ.woff2"; | ||||
|       hash = "sha256-JWnjYlbcNsg6KCJnRRjECL2HnZGJOBTMtdutWBNza4Q="; | ||||
|       name = "heebo.woff2"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -55,7 +55,8 @@ in | |||
|       # TODO: create static redirects from `tail <collection>.locations` | ||||
|       (acc: elem: acc // (mapAttrs' (type: value: { | ||||
|         name = head elem.locations + optionalString (type != "") ".${type}"; | ||||
|         value = builtins.toFile | ||||
|         value = if isStorePath value then value else | ||||
|         builtins.toFile | ||||
|           (elem.name + optionalString (type != "") ".${type}") | ||||
|           (toString value); | ||||
|       })) | ||||
|  |  | |||
|  | @ -16,8 +16,7 @@ in | |||
|       options.path = mkOption { | ||||
|         type = types.path; | ||||
|       }; | ||||
|       config.name = builtins.baseNameOf config.path; | ||||
|       config.outputs."" = builtins.readFile config.path; | ||||
|       config.outputs."" = if lib.isStorePath config.path then config.path else "${config.path}"; | ||||
|     })); | ||||
|     default = { }; | ||||
|   }; | ||||
|  |  | |||
|  | @ -74,7 +74,7 @@ in | |||
|         description = '' | ||||
|           Representations of the document in different formats | ||||
|         ''; | ||||
|         type = with types; attrsOf (either str attrs); | ||||
|         type = with types; attrsOf (either attrs pathInStore); | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
|  |  | |||
|  | @ -54,6 +54,10 @@ in | |||
|         title.text = page.title; | ||||
|         meta.description = page.description; | ||||
|         link.canonical = lib.head page.locations; | ||||
|         link.stylesheets = [ | ||||
|           { href = "${page.link cfg.assets."style.css"}"; } | ||||
|           { href = "${page.link cfg.assets."fonts.css"}"; } | ||||
|         ]; | ||||
|       }; | ||||
|       body.content = [ | ||||
|         (cfg.menus.main.outputs.html page) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Valentin Gagarin
							Valentin Gagarin