feat: ability to hide tags in the recent notes component (#1147)
* feat: ability to hide tags in the recent notes component * docs: recent notes custom parameters in a table * docs: revert recent notes doc to bullet points * fix: linter issues * Update docs/features/recent notes.md --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
This commit is contained in:
		
							parent
							
								
									cf1b3f270b
								
							
						
					
					
						commit
						81a4e20236
					
				| @ -9,6 +9,7 @@ Quartz can generate a list of recent notes based on some filtering and sorting c | ||||
| 
 | ||||
| - Changing the title from "Recent notes": pass in an additional parameter to `Component.RecentNotes({ title: "Recent writing" })` | ||||
| - Changing the number of recent notes: pass in an additional parameter to `Component.RecentNotes({ limit: 5 })` | ||||
| - Display the note's tags (defaults to true): `Component.RecentNotes({ showTags: false })` | ||||
| - Show a 'see more' link: pass in an additional parameter to `Component.RecentNotes({ linkToMore: "tags/components" })`. This field should be a full slug to a page that exists. | ||||
| - Customize filtering: pass in an additional parameter to `Component.RecentNotes({ filter: someFilterFunction })`. The filter function should be a function that has the signature `(f: QuartzPluginData) => boolean`. | ||||
| - Customize sorting: pass in an additional parameter to `Component.RecentNotes({ sort: someSortFunction })`. By default, Quartz will sort by date and then tie break lexographically. The sort function should be a function that has the signature `(f1: QuartzPluginData, f2: QuartzPluginData) => number`. See `byDateAndAlphabetical` in `quartz/components/PageList.tsx` for an example. | ||||
|  | ||||
| @ -12,6 +12,7 @@ interface Options { | ||||
|   title?: string | ||||
|   limit: number | ||||
|   linkToMore: SimpleSlug | false | ||||
|   showTags: boolean | ||||
|   filter: (f: QuartzPluginData) => boolean | ||||
|   sort: (f1: QuartzPluginData, f2: QuartzPluginData) => number | ||||
| } | ||||
| @ -19,6 +20,7 @@ interface Options { | ||||
| const defaultOptions = (cfg: GlobalConfiguration): Options => ({ | ||||
|   limit: 3, | ||||
|   linkToMore: false, | ||||
|   showTags: true, | ||||
|   filter: () => true, | ||||
|   sort: byDateAndAlphabetical(cfg), | ||||
| }) | ||||
| @ -56,18 +58,20 @@ export default ((userOpts?: Partial<Options>) => { | ||||
|                       <Date date={getDate(cfg, page)!} locale={cfg.locale} /> | ||||
|                     </p> | ||||
|                   )} | ||||
|                   <ul class="tags"> | ||||
|                     {tags.map((tag) => ( | ||||
|                       <li> | ||||
|                         <a | ||||
|                           class="internal tag-link" | ||||
|                           href={resolveRelative(fileData.slug!, `tags/${tag}` as FullSlug)} | ||||
|                         > | ||||
|                           {tag} | ||||
|                         </a> | ||||
|                       </li> | ||||
|                     ))} | ||||
|                   </ul> | ||||
|                   {opts.showTags && ( | ||||
|                     <ul class="tags"> | ||||
|                       {tags.map((tag) => ( | ||||
|                         <li> | ||||
|                           <a | ||||
|                             class="internal tag-link" | ||||
|                             href={resolveRelative(fileData.slug!, `tags/${tag}` as FullSlug)} | ||||
|                           > | ||||
|                             {tag} | ||||
|                           </a> | ||||
|                         </li> | ||||
|                       ))} | ||||
|                     </ul> | ||||
|                   )} | ||||
|                 </div> | ||||
|               </li> | ||||
|             ) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user