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@<VERSION>/dist/bluesky-comments.es.js';
31
32 const author = 'you.bsky.social';
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 }} — {{ site.title }}
131 {% endif %}
132 </title>
133</head>