The bmannconsulting.com website
1<head> 2 <meta charset="UTF-8"> 3 <link rel="canonical" href="{{ site.url }}{{ page.url }}" /> 4 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 5 <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.title }}{% endif %}"> 6 <meta property="og:site_name" content="{{ site.title }}"> 7 <link rel="stylesheet" href="{{ '/styles.css' | relative_url }}"> 8 <link rel="alternate" type="application/atom+xml" title="Blog Feed for bmannconsulting.com" href="{{ site.url }}/blog.xml" /> 9 <link rel="alternate" type="application/atom+xml" title="Journal Feed for bmannconsulting.com" href="{{ site.url }}/journal.xml" /> 10 11 {% comment %}<!-- Littlefoot footnotes https://github.com/goblindegook/littlefoot -->{% endcomment %} 12 <link rel="stylesheet" href="https://unpkg.com/littlefoot/dist/littlefoot.css" /> 13 14 {% comment %}<!-- Bluesky Comments https://github.com/czue/bluesky-comments -->{% endcomment %} 15 {% if page.comments %} 16 <link rel="stylesheet" href="https://unpkg.com/bluesky-comments@0.10.1/dist/bluesky-comments.css"> 17 18 <script type="importmap"> 19 { 20 "imports": { 21 "react": "https://esm.sh/react@18", 22 "react-dom/client": "https://esm.sh/react-dom@18/client" 23 } 24 } 25</script> 26 27 <script type="module"> 28 import { createElement } from 'react'; 29 import { createRoot } from 'react-dom/client'; 30 import { BlueskyComments } from 'https://unpkg.com/bluesky-comments@0.10.1/dist/bluesky-comments.es.js'; 31 32 const author = 'bmann.ca'; 33 const container = document.getElementById('bluesky-comments'); 34 const root = createRoot(container); 35 root.render( 36 createElement(BlueskyComments, { 37 "author": author, 38 }) 39 ); 40 </script> 41 {% endif %} 42 43 {% if page.excerpt %} 44 <meta property="og:description" content="{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}"/> 45 {% else %} 46 <meta property="og:description" content="{{ site.title | strip_html | strip_newlines | truncate: 160 }}"/> 47 {% endif %} 48 49 {% if page.title %} 50 <meta property="og:title" content="{{ page.title }}"> 51 <meta property="og:type" content="article"> 52 {% else %} 53 <meta property="og:title" content="{{ site.title }}"> 54 <meta property="og:type" content="website"> 55 {% endif %} 56 57 {% if page.published %} 58 <link rel="canonical" href="{{ page.link }}" /> 59 <meta property="article:published_time" content="{{ page.published | date_to_xmlschema }}"> 60 <meta property="article:author" content="{{ page.author }}"> 61 {% elsif page.date %} 62 <meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}"> 63 <meta property="article:author" content="{{ site.url }}/"> 64 {% endif %} 65 66 <meta property="og:url" content="{{ site.url }}{{ page.url }}" /> 67 68 {% if page.image %} 69 <meta property="og:image" content="{{ site.url }}{{ page.image }}"> 70 {% else %} 71 <meta property="og:image" content="{{ site.url }}/assets/bmann_hair_orange_256x256.png"> 72 {% endif %} 73 74{% if page.frame %} 75 <!-- Open Frames Custom --> 76 <meta property="fc:frame" content="vNext"> 77 {% if page.frame.image %} 78 <meta property="fc:frame:image" content="{{ site.url }}{{ page.frame.image }}"> 79 <meta property="fc:frame:image:aspect_ratio" content="{{ page.frame.image-aspect-ratio }}"> 80 {% endif %} 81 {% if page.frame.button1 %} 82 <meta property="fc:frame:button:1" content="{{ page.frame.button1.label }}"> 83 <meta property="fc:frame:button:1:action" content="{{ page.frame.button1.action }}"> 84 <meta property="fc:frame:button:1:target" content="{{ page.frame.button1.target }}"> 85 {% endif %} 86 {% if page.frame.button2 %} 87 <meta property="fc:frame:button:2" content="{{ page.frame.button2.label }}"> 88 <meta property="fc:frame:button:2:action" content="{{ page.frame.button2.action }}"> 89 <meta property="fc:frame:button:2:target" content="{{ page.frame.button2.target }}"> 90 {% endif %} 91 {% if page.frame.button3 %} 92 <meta property="fc:frame:button:3" content="{{ page.frame.button3.label }}"> 93 <meta property="fc:frame:button:3:action" content="{{ page.frame.button3.action }}"> 94 <meta property="fc:frame:button:3:target" content="{{ page.frame.button3.target }}"> 95 {% endif %} 96{% else %} 97 <!-- Open Frames Default --> 98 {% if page.image %} 99 <meta property="fc:frame:image" content="{{ site.url }}{{ page.image }}"> 100 <meta property="fc:frame:image:aspect_ratio" content="1:1"> 101 {% else %} 102 <meta property="fc:frame:image" content="{{ site.url }}/assets/bmann_hair_orange_256x256.png"> 103 <meta property="fc:frame:image:aspect_ratio" content="1:1"> 104 {% endif %} 105 <meta property="fc:frame" content="vNext"> 106 {% if page.link %} 107 <meta property="fc:frame:button:1" content="🔗 Source"> 108 <meta property="fc:frame:button:1:action" content="link"> 109 <meta property="fc:frame:button:1:target" content="{{ page.link }}"> 110 {% elsif page.wikipedia %} 111 <meta property="fc:frame:button:1" content="📖 Wikipedia"> 112 <meta property="fc:frame:button:1:action" content="link"> 113 <meta property="fc:frame:button:1:target" content="{{ page.wikipedia }}"> 114 {% else %} 115 <meta property="fc:frame:button:1" content="🌱 Home"> 116 <meta property="fc:frame:button:1:action" content="link"> 117 <meta property="fc:frame:button:1:target" content="https://bmannconsulting.com"> 118 {% endif %} 119 <meta property="fc:frame:button:2" content="🔖 Explore"> 120 <meta property="fc:frame:button:2:action" content="link"> 121 <meta property="fc:frame:button:2:target" content="https://bmannconsulting.com/notes/"> 122 <meta property="fc:frame:button:3" content="💰 Drips"> 123 <meta property="fc:frame:button:3:action" content="link"> 124 <meta property="fc:frame:button:3:target" content="https://www.drips.network/app/bmann.eth"> 125{% endif %} 126 <title> 127 {% if page.id == "home" %} 128 {{ site.title }} 129 {% else %} 130 {{ page.title }} &mdash; {{ site.title }} 131 {% endif %} 132 </title> 133</head>