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