forked from fediversity/fediversity
		
	allow menu entries to be subtypes of page
				
					
				
			with an example
This commit is contained in:
		
							parent
							
								
									836ceb846a
								
							
						
					
					
						commit
						6631c09803
					
				
					 2 changed files with 20 additions and 2 deletions
				
			
		|  | @ -1,4 +1,4 @@ | |||
| { config, ... }: | ||||
| { config, lib, ... }: | ||||
| let | ||||
|   inherit (config) pages; | ||||
| in | ||||
|  | @ -10,6 +10,20 @@ in | |||
|         menu.label = "Consortium"; | ||||
|         menu.items = map (page: { inherit page; }) (with pages; [ nlnet oid tweag nordunet ]); | ||||
|       } | ||||
|       { | ||||
|         menu.label = "News"; | ||||
|         menu.items = | ||||
|           let | ||||
|             sorted = with lib; reverseList (sortOn (entry: entry.date) config.collections.news.entry); | ||||
|           in | ||||
|           map | ||||
|             (page: { | ||||
|               page = lib.recursiveUpdate page { | ||||
|                 title = "${page.date}: ${page.title}"; | ||||
|               }; | ||||
|             }) | ||||
|             (lib.take 3 sorted); | ||||
|       } | ||||
|       { page = pages.fediversity; } | ||||
|       { page = pages.grants; } | ||||
|     ]; | ||||
|  |  | |||
|  | @ -5,6 +5,10 @@ let | |||
|     types | ||||
|     ; | ||||
|   cfg = config; | ||||
|   subtype = baseModule: types.submodule [ | ||||
|     baseModule | ||||
|     { _module.freeformType = types.attrs; } | ||||
|   ]; | ||||
| in | ||||
| { | ||||
|   content-types.named-link = { ... }: { | ||||
|  | @ -36,7 +40,7 @@ in | |||
|         description = "List of menu items"; | ||||
|         type = with types; listOf (attrTag { | ||||
|           menu = mkOption { type = submodule cfg.content-types.navigation; }; | ||||
|           page = mkOption { type = submodule cfg.content-types.page; }; | ||||
|           page = mkOption { type = subtype cfg.content-types.page; }; | ||||
|           link = mkOption { type = submodule cfg.content-types.named-link; }; | ||||
|         }); | ||||
|       }; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Valentin Gagarin
							Valentin Gagarin