forked from nyancrimew/maia.crimew.gay
		
	add blog
This commit is contained in:
		
							parent
							
								
									f33312d40c
								
							
						
					
					
						commit
						5dfef6e0d4
					
				
					 11 changed files with 116 additions and 11 deletions
				
			
		
							
								
								
									
										22
									
								
								.eleventy.js
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								.eleventy.js
									
									
									
									
									
								
							|  | @ -3,17 +3,33 @@ module.exports = function (eleventyConfig) { | ||||||
|     if (str instanceof Date) { |     if (str instanceof Date) { | ||||||
|       return str; |       return str; | ||||||
|     } |     } | ||||||
|     const date = DateTime.fromISO(str, { zone: "utc" }); |     return Date.parse(str); | ||||||
|     return date.toJSDate(); |  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |   const formatPart = (part, date) => | ||||||
|  |     new Intl.DateTimeFormat("en", part).format(date); | ||||||
|  | 
 | ||||||
|   eleventyConfig.addPassthroughCopy({ "src/static": "/" }); |   eleventyConfig.addPassthroughCopy({ "src/static": "/" }); | ||||||
| 
 | 
 | ||||||
|   eleventyConfig.addFilter("date_to_datetime", (obj) => { |   eleventyConfig.addFilter("date_to_datetime", (obj) => { | ||||||
|     const date = parseDate(obj); |     const date = parseDate(obj); | ||||||
|     return DateTime.fromJSDate(date).toUTC().toISO(); |     return date.toISOString(); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|  |   eleventyConfig.addFilter("date_formatted", (obj) => { | ||||||
|  |     const date = parseDate(obj); | ||||||
|  | 
 | ||||||
|  |     const month = formatPart({ month: "short" }, date); | ||||||
|  |     const day = formatPart({ day: "numeric" }, date); | ||||||
|  |     const year = formatPart({ year: "numeric" }, date); | ||||||
|  | 
 | ||||||
|  |     return `${month} ${day}, ${year}`; | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   eleventyConfig.addCollection('posts', collection => { | ||||||
|  |     return collection.getFilteredByGlob('src/posts/*.md').reverse() | ||||||
|  |   }) | ||||||
|  | 
 | ||||||
|   return { |   return { | ||||||
|     templateFormats: ["njk", "md", "html"], |     templateFormats: ["njk", "md", "html"], | ||||||
|     dir: { |     dir: { | ||||||
|  |  | ||||||
|  | @ -3,6 +3,10 @@ | ||||||
|         "name": "home", |         "name": "home", | ||||||
|         "link": "/" |         "link": "/" | ||||||
|     }, |     }, | ||||||
|  |     { | ||||||
|  |         "name": "blog", | ||||||
|  |         "link": "/posts/" | ||||||
|  |     }, | ||||||
|     { |     { | ||||||
|         "name": "sample packs", |         "name": "sample packs", | ||||||
|         "link": "/samples/" |         "link": "/samples/" | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								src/_includes/components/pagination.njk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/_includes/components/pagination.njk
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | <nav> | ||||||
|  |     {% if pagination.nextPageLink -%} | ||||||
|  |         {% set nextPageNumber = pagination.pageNumber + 1 %} | ||||||
|  |         {% set nextPageLink = 'page/' ~ nextPageNumber %} | ||||||
|  |         <a href="/{{ page.fileSlug }}/{{ nextPageLink }}" rel="prev">Older</a> | ||||||
|  |     {%- endif %} | ||||||
|  | 
 | ||||||
|  |     {% if pagination.previousPageLink -%} | ||||||
|  |         {% set previousPageNumber = pagination.pageNumber - 1 %} | ||||||
|  |         {%- if pagination.pageNumber == 1 -%} | ||||||
|  |             {% set previousPageLink = '' %} | ||||||
|  |         {%- else -%} | ||||||
|  |             {% set previousPageLink = 'page/' ~ previousPageNumber %} | ||||||
|  |         {%- endif -%} | ||||||
|  |         <a href="/{{ page.fileSlug }}/{{ previousPageLink }}" rel="next">Newer</a> | ||||||
|  |     {%- endif %} | ||||||
|  | </nav> | ||||||
|  | @ -21,12 +21,12 @@ | ||||||
|     <meta name="theme-color" content="#eca9cb"> |     <meta name="theme-color" content="#eca9cb"> | ||||||
|   </head> |   </head> | ||||||
|   <body> |   <body> | ||||||
|     <header> |     <header id="site_header"> | ||||||
|       <h1>maia <sub>{{ subhead if subhead else "arson crimew" }}</sub></h1> |       <h1>maia <sub>{{ subhead if subhead else "arson crimew" }}</sub></h1> | ||||||
|       {% include "components/navigation.njk" %} |       {% include "components/navigation.njk" %} | ||||||
|     </header> |     </header> | ||||||
|     <div id="content"> |     <div id="content"> | ||||||
|       {% block content %}{% endblock %} |       {% block main %}{% endblock %} | ||||||
|     </div> |     </div> | ||||||
|     {% include "components/footer.njk" %} |     {% include "components/footer.njk" %} | ||||||
|   </body> |   </body> | ||||||
|  |  | ||||||
							
								
								
									
										16
									
								
								src/_includes/layouts/post.njk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/_includes/layouts/post.njk
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | ||||||
|  | --- | ||||||
|  | subhead: blog | ||||||
|  | --- | ||||||
|  | {% extends 'layouts/default.njk' %} | ||||||
|  | {% block main %} | ||||||
|  |     <article> | ||||||
|  |         <header class="article_header"> | ||||||
|  |             <div class="byline"> | ||||||
|  |                 <time datetime="{{date | date_to_datetime }}">{{ date | date_formatted }}</time> | ||||||
|  |                 <span>by <span class="author by" id="author">{{ site.name }}</span></span> | ||||||
|  |             </div> | ||||||
|  |             <h1>{{ title }}</h1> | ||||||
|  |         </header> | ||||||
|  |         {{ content | safe }} | ||||||
|  |     </article> | ||||||
|  | {% endblock %} | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| permalink: /index.html | permalink: /index.html | ||||||
| --- | --- | ||||||
| {% extends 'layouts/default.njk' %} | {% extends 'layouts/default.njk' %} | ||||||
| {% block content %}  | {% block main %}  | ||||||
|     <p> |     <p> | ||||||
|       hello i am {{ site.name }} <sup>({{ site.pronouns }})</sup> and this website is not finished at all as a |       hello i am {{ site.name }} <sup>({{ site.pronouns }})</sup> and this website is not finished at all as a | ||||||
|       matter of fact i havent even rly started working on it yet. |       matter of fact i havent even rly started working on it yet. | ||||||
|  |  | ||||||
							
								
								
									
										21
									
								
								src/posts.njk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/posts.njk
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | ||||||
|  | --- | ||||||
|  | title: maia blog :3 | ||||||
|  | subhead: blog | ||||||
|  | pagination: | ||||||
|  |   data: collections.posts | ||||||
|  |   addAllPagesToCollections: true | ||||||
|  |   size: 10 | ||||||
|  | permalink: /posts/{% if pagination.pageNumber > 0 %}page/{{ pagination.pageNumber }}/{% endif %}index.html | ||||||
|  | --- | ||||||
|  | {% extends 'layouts/default.njk' %} | ||||||
|  | {% block main %} | ||||||
|  |   <ul> | ||||||
|  |     {% for entry in pagination.items %} | ||||||
|  |     <li> | ||||||
|  |       <span><a href="{{ entry.url }}">{{ entry.data.title }}</a> on <span><time datetime="{{ entry.data.date | date_to_datetime }}">{{ entry.data.date | date_formatted }}</time></span></span> | ||||||
|  |     </li> | ||||||
|  |     {% endfor %} | ||||||
|  |   </ul> | ||||||
|  | 
 | ||||||
|  |   {% include "components/pagination.njk" %} | ||||||
|  | {% endblock %} | ||||||
							
								
								
									
										9
									
								
								src/posts/example.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/posts/example.md
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | ||||||
|  | --- | ||||||
|  | title: "example blog post" | ||||||
|  | date: 2022-05-31 | ||||||
|  | description: "owo" | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | test | ||||||
|  | 
 | ||||||
|  | ## test | ||||||
							
								
								
									
										4
									
								
								src/posts/posts.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/posts/posts.json
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | { | ||||||
|  |     "layout": "layouts/post", | ||||||
|  |     "permalink": "posts/{{ page.fileSlug }}/index.html" | ||||||
|  | } | ||||||
|  | @ -1,15 +1,16 @@ | ||||||
| --- | --- | ||||||
| permalink: /samples/index.html | title: maia sample packs :3 | ||||||
| subhead: sample packs | subhead: sample packs | ||||||
|  | permalink: /samples/index.html | ||||||
| --- | --- | ||||||
| {% extends 'layouts/default.njk' %} | {% extends 'layouts/default.njk' %} | ||||||
| {% block content %}  | {% block main %}  | ||||||
|     <p>here are some sample packs i made!</p> |     <p>here are some sample packs i made!</p> | ||||||
|     <div> |     <div> | ||||||
|       <ul> |       <ul> | ||||||
|         {% for pack in samplepacks %} |         {% for pack in samplepacks %} | ||||||
|         <li> |         <li> | ||||||
|           <a href="/samples/{{ pack.filename }}"><code>{{ pack.filename }}</code></a> <small title="{{ pack.changes }}">({{ pack.version }})</small> - {{ pack.description }}  |           <a href="/samples/{{ pack.filename }}"><code>{{ pack.filename }}</code></a> <sup title="{{ pack.changes }}">({{ pack.version }})</sup> - {{ pack.description }}  | ||||||
|         </li> |         </li> | ||||||
|         {% endfor %} |         {% endfor %} | ||||||
|       </ul> |       </ul> | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ li.lavender-webring-curr-site > a { | ||||||
|   color: rgb(195, 0, 255); |   color: rgb(195, 0, 255); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| header { | #site_header { | ||||||
|   padding-bottom: 5px; |   padding-bottom: 5px; | ||||||
|   border-bottom: 1px solid rgb(255, 0, 140); |   border-bottom: 1px solid rgb(255, 0, 140); | ||||||
| } | } | ||||||
|  | @ -22,8 +22,8 @@ footer { | ||||||
|   border-top: 1px solid rgb(255, 0, 140); |   border-top: 1px solid rgb(255, 0, 140); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| header, |  | ||||||
| footer, | footer, | ||||||
|  | #site_header, | ||||||
| .lavender-webring-container { | .lavender-webring-container { | ||||||
|   text-align: center; |   text-align: center; | ||||||
| } | } | ||||||
|  | @ -36,6 +36,23 @@ footer, | ||||||
|   padding-bottom: 2em; |   padding-bottom: 2em; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .byline { | ||||||
|  |   font-size: 0.75rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | time, .author { | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .article_header { | ||||||
|  |   padding-bottom: 4px; | ||||||
|  |   border-bottom: 1px dotted rgb(219, 103, 167); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .article_header > h1 { | ||||||
|  |   margin: 0.1rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .lavender-webring-container { | .lavender-webring-container { | ||||||
|   all: unset; |   all: unset; | ||||||
|   display: flex; |   display: flex; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue