Compare commits
5 Commits
d306046707
...
aa5cc21119
Author | SHA1 | Date |
---|---|---|
Paco Hope | aa5cc21119 | |
Paco Hope | 8062b15d47 | |
Paco Hope | a96e43dca2 | |
Paco Hope | a010daf3d6 | |
Paco Hope | b247ebfab6 |
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
date = {{ .Date }}
|
||||
draft = true
|
||||
+++
|
|
@ -0,0 +1,45 @@
|
|||
+++
|
||||
title = 'Highlights'
|
||||
date = 2023-12-17T09:44:47-05:00
|
||||
draft = false
|
||||
+++
|
||||
|
||||
# Highlights from 2023
|
||||
|
||||
These are a few fun toots that crossed my feed in 2023. Did I miss one? [Let me know on Mastodon <i class="fab fa-mastodon"></i>](https://infosec.exchange/@paco).
|
||||
|
||||
{{% toot "https://mastodon.social/@tenzochris/109531599889279115" %}}
|
||||
|
||||
{{% toot "https://mastodon.coffee/@TidalFlats/111593172028379868" %}}
|
||||
|
||||
{{% toot "https://norcal.social/@superball/111593123994945013" %}}
|
||||
|
||||
{{% toot "https://beige.party/@jimbush/111593081103903768" %}}
|
||||
|
||||
{{% toot "https://beige.party/@quasirealsmiths/111593034287053498" %}}
|
||||
|
||||
{{% toot "https://toot.community/@MyWoolyMastadon/111592997003311574" %}}
|
||||
|
||||
{{% toot "https://tech.lgbt/@deilann/111592888053513691" %}}
|
||||
|
||||
{{% toot "https://tooters.org/@swordplay/111592837476196625" %}}
|
||||
|
||||
{{% toot "https://mastodon.ie/@MarkMaguire/109535062848073539" %}}
|
||||
|
||||
{{% toot "https://mstdn.ca/@TheWoodenheaded/111592830948139086 " %}}
|
||||
|
||||
{{% toot "https://mastodon.social/@maxleibman/111592760759097839" %}}
|
||||
|
||||
{{% toot "https://mastodon.social/@michelestrider/111592721507920869" %}}
|
||||
|
||||
{{% toot "https://mastodon.social/@maxleibman/111592671242187877" %}}
|
||||
|
||||
{{% toot "https://honeytree.social/@jeff/111592595370265188" %}}
|
||||
|
||||
{{% toot "https://mastodon.social/@maxleibman/111592592379270496" %}}
|
||||
|
||||
{{% toot "https://beige.party/@jimbush/111592408648724494" %}}
|
||||
|
||||
{{% toot "https://lounge.town/@DrOinFLA/111592380096528253" %}}
|
||||
|
||||
{{% toot "https://boing.world/@pre/111592286082603569" %}}
|
66
hugo.yaml
66
hugo.yaml
|
@ -2,7 +2,8 @@ baseURL: https://johnmastodon.me/
|
|||
languageCode: en-us
|
||||
title: Celebrate John Mastodon Day
|
||||
theme: hugo-profile
|
||||
|
||||
toc: false
|
||||
tags: false
|
||||
|
||||
outputs:
|
||||
home:
|
||||
|
@ -25,15 +26,15 @@ markup:
|
|||
|
||||
Menus:
|
||||
main:
|
||||
- identifier: history
|
||||
name: History
|
||||
title: History
|
||||
url: "#education"
|
||||
- identifier: origin
|
||||
name: Highlights from 2023
|
||||
title: Highlights from 2023
|
||||
url: "/blog/highlights/"
|
||||
weight: 1
|
||||
- identifier: livefeed
|
||||
name: Live Feed
|
||||
title: Live Feed
|
||||
url: "#mt-body"
|
||||
url: "/#mt-body"
|
||||
weight: 1
|
||||
|
||||
params:
|
||||
|
@ -88,7 +89,7 @@ params:
|
|||
menus:
|
||||
disableAbout: true
|
||||
disableExperience: false
|
||||
disableEducation: true
|
||||
disableEducation: false
|
||||
disableProjects: true
|
||||
disableAchievements: false
|
||||
disableContact: true
|
||||
|
@ -99,7 +100,7 @@ params:
|
|||
intro: "Hi, I am"
|
||||
title: "John Mastodon."
|
||||
subtitle: "I was born on December 16"
|
||||
content: "Celebrate John Mastodon Day on December 16-17, 2023. ([Tell Me How!](#experience))"
|
||||
content: "Celebrate John Mastodon Day on December 16-17, 2023. ([Tell Me How!](/#experience))"
|
||||
image: /img/johnmastodon-sd3.png
|
||||
bottomImage:
|
||||
enable: false
|
||||
|
@ -127,11 +128,6 @@ params:
|
|||
title: "Here are a few technologies I've been working with recently:"
|
||||
items:
|
||||
- "HTML"
|
||||
- "CSS"
|
||||
- "JavaScript"
|
||||
- "React"
|
||||
- "Node"
|
||||
- "Express"
|
||||
|
||||
# Experience
|
||||
experience:
|
||||
|
@ -175,7 +171,7 @@ params:
|
|||
# Education
|
||||
education:
|
||||
enable: true
|
||||
title: "History"
|
||||
title: "Origin Story"
|
||||
index: false
|
||||
items:
|
||||
- title: "Immaculate Conception"
|
||||
|
@ -195,25 +191,27 @@ params:
|
|||
|
||||
# Achievements
|
||||
achievements:
|
||||
enable: false
|
||||
# title: "Custom Name"
|
||||
enable: true
|
||||
title: "Featured Images"
|
||||
items:
|
||||
- title: Google kickstart runner
|
||||
content: I solved all problems with optimal solution.
|
||||
url: https://example.com
|
||||
image: /images/achievment.jpg
|
||||
- title: Facebook Hackathon Winner
|
||||
content: Developed a product using Artificial Intelligence.
|
||||
image: /images/achievment.jpg
|
||||
- title: Hugo Profile
|
||||
content: Developed a theme and getting 1K+ downloads per month.
|
||||
url: "https://github.com/gurusabarish/hugo-profile"
|
||||
image: /images/achievment.jpg
|
||||
- title: Microsoft Imagine Runner
|
||||
content: We are developed a product which can help others.
|
||||
- title: Google Summer of Code
|
||||
content: Contributed to a open source project.
|
||||
url: https://example.com
|
||||
- title: John Mastodon, CIA Director
|
||||
content:
|
||||
url: https://infosec.exchange/@blAnders/111593080343413392
|
||||
image: /img/f8d49c0bf6fa9663.png
|
||||
- title: John's Dating Profile
|
||||
# content: Developed a product using Artificial Intelligence.
|
||||
url: https://infosec.exchange/@blAnders/111593080343413392
|
||||
image: /img/9d76352aabadcc4f.png
|
||||
- title: MastoCon 2022
|
||||
#content: Developed a theme and getting 1K+ downloads per month.
|
||||
url: https://infosec.exchange/@blAnders/111593080343413392
|
||||
image: /img/07a3ce5bf8ebd2e9.png
|
||||
- title: jeff@honeytree.social
|
||||
image: /img/a5cd481f223206e6.jpeg
|
||||
url: https://honeytree.social/@jeff/111592595370265188
|
||||
- title: jperlow@journa.host
|
||||
image: /img/cf8ba73fd912d537.jpeg
|
||||
url: https://journa.host/@jperlow/111592240174287444
|
||||
|
||||
# projects
|
||||
projects:
|
||||
|
@ -280,12 +278,12 @@ params:
|
|||
|
||||
footer:
|
||||
recentPosts:
|
||||
path: "blogs"
|
||||
path: "blog"
|
||||
count: 3
|
||||
title: Recent Posts
|
||||
enable: false
|
||||
disableFeaturedImage: true
|
||||
socialNetworks:
|
||||
# socialNetworks:
|
||||
|
||||
|
||||
# List pages like blogs and posts
|
||||
|
|
|
@ -0,0 +1,118 @@
|
|||
{{ define "head" }}
|
||||
<meta name="description" content="{{ .Params.description }}">
|
||||
<link rel="stylesheet" href="{{.Site.Params.staticPath}}/css/single.css">
|
||||
|
||||
<!-- fontawesome -->
|
||||
<script defer src="{{.Site.Params.staticPath}}/fontawesome-6/all-6.4.2.js"></script>
|
||||
{{ end }}
|
||||
|
||||
{{ define "title" }}
|
||||
{{.Title }} | {{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main" }}
|
||||
<section id="single">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-sm-12 col-md-12 col-lg-9">
|
||||
<div class="pr-lg-4">
|
||||
<div class="title mb-5">
|
||||
<h1 class="text-center mb-4">{{ .Title }}</h1>
|
||||
<div class="text-center">
|
||||
{{ .Date.Format (.Site.Params.datesFormat.article | default "Jan 2, 2006") }}
|
||||
|
||||
{{ if or (.Site.Params.singlePages.readTime.enable | default true) (.Params.enableReadingTime) }}
|
||||
<span id="readingTime">
|
||||
{{ .Site.Params.singlePages.readTime.content | default "min read" }}
|
||||
</span>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ if .Params.image }}
|
||||
<div class="featured-image">
|
||||
<img class="img-fluid mx-auto d-block" src="{{ .Params.image }}" alt="{{ .Title }}">
|
||||
</div>
|
||||
{{ end }}
|
||||
<article class="page-content p-2">
|
||||
{{ .Content | emojify }}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-3">
|
||||
<div id="stickySideBar" class="sticky-sidebar">
|
||||
{{ if .Params.toc | default false}}
|
||||
<aside class="toc">
|
||||
<h5>
|
||||
{{ .Site.Params.terms.toc | default "Table Of Contents" }}
|
||||
</h5>
|
||||
<div class="toc-content">
|
||||
{{.TableOfContents}}
|
||||
</div>
|
||||
</aside>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.tags }}
|
||||
<aside class="tags">
|
||||
<h5>{{ .Site.Params.terms.tags | default "Tags" }}</h5>
|
||||
<ul class="tags-ul list-unstyled list-inline">
|
||||
{{range .Params.tags}}
|
||||
<li class="list-inline-item"><a href="{{`tags` | absURL}}/{{.| urlize}}" target="_blank">{{.}}</a></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
</aside>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-9 p-4">
|
||||
{{ template "_internal/disqus.html" . }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="p-2 px-3" onclick="topFunction()" id="topScroll">
|
||||
<i class="fas fa-angle-up"></i>
|
||||
</button>
|
||||
</section>
|
||||
|
||||
{{ if or (.Site.Params.singlePages.scrollprogress.enable | default true) (.Params.enableScrollProgress) }}
|
||||
<div class="progress">
|
||||
<div id="scroll-progress-bar" class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
<Script src="{{.Site.Params.staticPath}}/js/scrollProgressBar.js"></script>
|
||||
{{ end }}
|
||||
|
||||
<script>
|
||||
var topScroll = document.getElementById("topScroll");
|
||||
window.onscroll = function() {scrollFunction()};
|
||||
|
||||
function scrollFunction() {
|
||||
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
|
||||
topScroll.style.display = "block";
|
||||
} else {
|
||||
topScroll.style.display = "none";
|
||||
}
|
||||
}
|
||||
|
||||
function topFunction() {
|
||||
document.body.scrollTop = 0;
|
||||
document.documentElement.scrollTop = 0;
|
||||
}
|
||||
|
||||
// To set height of sticky sidebar dynamically
|
||||
let stickySideBarElem = document.getElementById("stickySideBar");
|
||||
let stickyNavBar = {{ .Site.Params.navbar.stickyNavBar.enable | default false }};
|
||||
if(stickyNavBar) {
|
||||
let headerElem = document.getElementById("profileHeader");
|
||||
let headerHeight = headerElem.offsetHeight + 15;
|
||||
stickySideBarElem.style.top = headerHeight + "px";
|
||||
} else {
|
||||
stickySideBarElem.style.top = "50px";
|
||||
}
|
||||
</script>
|
||||
|
||||
{{ if or (.Site.Params.singlePages.readTime.enable | default true) (.Params.enableReadingTime) }}
|
||||
<script src="{{.Site.Params.staticPath}}/js/readingTime.js"></script>
|
||||
{{end}}
|
||||
|
||||
{{ end }}
|
|
@ -0,0 +1,32 @@
|
|||
{{ $url := urls.Parse (.Get 0) }}
|
||||
{{ $status_id := index (last 1 (split $url.Path "/")) 0 }}
|
||||
{{ $api_url := printf "%s://%s/api/v1/statuses/%s" $url.Scheme $url.Host $status_id }}
|
||||
{{ $dataJ := getJSON $api_url }}
|
||||
|
||||
{{ with $dataJ }}
|
||||
{{ if ne .content "" }}
|
||||
<article class="toot h-entry">
|
||||
<div class="e-content">
|
||||
<img class="toot-avatar" width=50 src="{{ .account.avatar }}"/>
|
||||
<p class="date"><small>Tooted on <time class="dt-published" datetime='{{ .created_at }}'>{{ dateFormat "January 2, 2006 15:04" (time .created_at) }}</time></small></p>
|
||||
{{ .content | safeHTML }}
|
||||
{{ if gt (len .media_attachments) 0 }}
|
||||
<div class="toot-photos">
|
||||
{{ range .media_attachments}}
|
||||
{{ if eq .type "image" }}
|
||||
<img src="{{ .preview_url }}" alt="{{ .description }}"/>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="toot-social">
|
||||
<span><i class='fas fa-share'></i> {{ .replies_count }} </span>
|
||||
<span><i class='fas fa-retweet'></i> {{ .reblogs_count }} </span>
|
||||
<span><i class='fas fa-star'></i> {{ .favourites_count }} </span>
|
||||
<span>| Source: <a href="{{ .url }}">{{ .url }}</a></span>
|
||||
</div>
|
||||
</article>
|
||||
<hr>
|
||||
{{ end }}
|
||||
{{ end }}
|
Binary file not shown.
After Width: | Height: | Size: 451 KiB |
Binary file not shown.
After Width: | Height: | Size: 703 KiB |
Binary file not shown.
After Width: | Height: | Size: 354 KiB |
Binary file not shown.
After Width: | Height: | Size: 692 KiB |
Binary file not shown.
After Width: | Height: | Size: 58 KiB |
Loading…
Reference in New Issue