forked from fediversity/fediversity
		
	more structured front page
this allows for more customised styling
This commit is contained in:
		
							parent
							
								
									91ab0e3cd4
								
							
						
					
					
						commit
						457f0adee7
					
				
					 1 changed files with 101 additions and 53 deletions
				
			
		|  | @ -19,59 +19,107 @@ in | |||
|       ${pages.fediversity.summary} | ||||
| 
 | ||||
|       [Learn more about Fediversity](${link pages.fediversity}) | ||||
| 
 | ||||
|       # Fediversity grants | ||||
| 
 | ||||
|       ${pages.grants.summary} | ||||
| 
 | ||||
|       [Learn more about Fediversity grants](${link pages.grants}) | ||||
| 
 | ||||
|       # Consortium | ||||
| 
 | ||||
|       The Consortium behind the Fediversity project is a cooperation between NLnet, Open Internet Discourse Foundation, NORDUnet and Tweag. | ||||
| 
 | ||||
|       ${toString (map (partner: '' | ||||
|       ## ${partner.title} | ||||
| 
 | ||||
|       ${partner.summary} | ||||
| 
 | ||||
|       [Read more about ${partner.title}](${link partner}) | ||||
|       '') (with pages; [ nlnet oid tweag nordunet ]))} | ||||
| 
 | ||||
|       # Fediverse explained | ||||
| 
 | ||||
|       ${toString (map (role: '' | ||||
|       ## ${role.title} | ||||
| 
 | ||||
|       ${role.summary} | ||||
| 
 | ||||
|       [Read more about ${role.title}](${link role}) | ||||
|       '') (with pages; [ individuals developers european-commission ]))} | ||||
| 
 | ||||
|       # News | ||||
| 
 | ||||
|       ${ | ||||
|         let | ||||
|           sorted = with lib; reverseList (sortOn (entry: entry.date) cfg.collections.news.entry); | ||||
|         in | ||||
|         lib.join "\n" (map (article: '' | ||||
|           - ${article.date} [${article.title}](${link article}) | ||||
|         '') sorted) | ||||
|       } | ||||
| 
 | ||||
|       # Events | ||||
| 
 | ||||
|       ${ | ||||
|         let | ||||
|           sorted = with lib; reverseList (sortOn (entry: entry.start-date) cfg.collections.events.entry); | ||||
|         in | ||||
|         lib.join "\n" (map (article: '' | ||||
|           - ${article.start-date} [${article.title}](${link article}) | ||||
|         '') sorted) | ||||
|       } | ||||
|     ''; | ||||
|     outputs.html = (cfg.templates.html.page config).override { | ||||
|       html.head.title.text = "Fediversity"; | ||||
|     }; | ||||
|     outputs.html = (cfg.templates.html.page config).override (final: prev: { | ||||
|       html = { | ||||
|         head.title.text = "Fediversity"; | ||||
|         body.content = | ||||
|           let | ||||
|             prev-content = prev.html.body.content; | ||||
|             to-section = { heading, body, attrs ? { } }: { | ||||
|               section = { | ||||
|                 heading.content = heading; | ||||
|                 inherit attrs; | ||||
|                 content = [ | ||||
|                   (cfg.templates.html.markdown { | ||||
|                     name = "${config.name}-${lib.slug heading}"; | ||||
|                     inherit body; | ||||
|                   }) | ||||
|                 ]; | ||||
|               }; | ||||
|             }; | ||||
|           in | ||||
|           [ | ||||
|             (lib.head prev-content) # header | ||||
|             { | ||||
|               section = { | ||||
|                 attrs = { }; | ||||
|                 heading.content = config.title; | ||||
|                 content = [ | ||||
|                   (cfg.templates.html.markdown { inherit (config) name body; }) | ||||
|                 ] | ||||
|                 ++ | ||||
|                 (map to-section [ | ||||
|                   { | ||||
|                     heading = "Fediversity grants"; | ||||
|                     body = '' | ||||
|                       ${pages.grants.summary} | ||||
| 
 | ||||
|                       [Learn more about Fediversity grants](${link pages.grants}) | ||||
|                     ''; | ||||
|                   } | ||||
|                   { | ||||
|                     heading = "Consortium"; | ||||
|                     body = '' | ||||
|                       The Consortium behind the Fediversity project is a cooperation between NLnet, Open Internet Discourse Foundation, NORDUnet and Tweag. | ||||
| 
 | ||||
|                       ${toString (map (partner: '' | ||||
|                       ### ${partner.title} | ||||
| 
 | ||||
|                       ${partner.summary} | ||||
| 
 | ||||
|                       [Read more about ${partner.title}](${link partner}) | ||||
|                       '') (with pages; [ nlnet oid tweag nordunet ]))} | ||||
|                     ''; | ||||
|                   } | ||||
|                   { | ||||
|                     heading = "Fediverse explained"; | ||||
|                     body = '' | ||||
|                       ${toString (map (role: '' | ||||
|                       ### ${role.title} | ||||
| 
 | ||||
|                       ${role.summary} | ||||
| 
 | ||||
|                       [Read more about ${role.title}](${link role}) | ||||
|                       '') (with pages; [ individuals developers european-commission ]))} | ||||
|                     ''; | ||||
|                   } | ||||
|                 ]); | ||||
|               }; | ||||
|             } | ||||
|           ] | ||||
|           ++ | ||||
|           (map to-section [ | ||||
|             { | ||||
|               heading = "News"; | ||||
|               attrs = { class = [ "collection" ]; }; | ||||
|               body = | ||||
|                 let | ||||
|                   sorted = with lib; reverseList (sortOn (entry: entry.date) cfg.collections.news.entry); | ||||
|                 in | ||||
|                 lib.join "\n" (map | ||||
|                   (article: '' | ||||
|                     - ${article.date} [${article.title}](${link article}) | ||||
|                   '') | ||||
|                   sorted); | ||||
|             } | ||||
|             { | ||||
|               heading = "Events"; | ||||
|               attrs = { class = [ "collection" ]; }; | ||||
|               body = | ||||
|                 let | ||||
|                   sorted = with lib; reverseList (sortOn (entry: entry.start-date) cfg.collections.events.entry); | ||||
|                 in | ||||
|                 lib.join "\n" (map | ||||
|                   (article: '' | ||||
|                     - ${article.start-date} [${article.title}](${link article}) | ||||
|                   '') | ||||
|                   sorted); | ||||
|             } | ||||
|           ]); | ||||
|       }; | ||||
| 
 | ||||
|     }); | ||||
|   }; | ||||
| 
 | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Valentin Gagarin
							Valentin Gagarin