diff --git a/assets/scss/base/content.scss b/assets/scss/base/content.scss deleted file mode 100644 index 248dcfd..0000000 --- a/assets/scss/base/content.scss +++ /dev/null @@ -1,88 +0,0 @@ -.content { - /* typography */ - html { - --line-height: 1.6; - } - h1 { - font-size: 2.49em; - font-weight: bold; - } - h2 { - font-size: 2.07em; - font-weight: bold; - } - h3 { - font-size: 1.73em; - font-weight: bold; - } - h4 { - font-size: 1.44em; - font-weight: bold; - } - h5 { - font-size: 1.2em; - font-weight: bold; - } - h6 { - font-size: 1em; - font-weight: bold; - } - p { - line-height: var(--line-height); - } - h1, h2, h3, h4, h5, h6, p { - margin-block: 1rem; - } - strong { - font-weight: bold; - } - em { - font-style: italic; - } - - /* lists */ - ol { - list-style: decimal; - } - ul { - list-style: disc; - } - ol, ul { - margin-inline-start: 1em; - } - li { - margin-block: 0.5em; - line-height: var(--line-height); - } - - /* content */ - blockquote { - border-inline-start: 0.25em solid black; - padding-inline-start: 0.5em; - display: block; - margin-block: 1em; - line-height: 1.6; - p { - - } - } - img { - max-width: 100%; - } - figure { - blockquote { - - } - img { - display: block; - width: 100%; - } - figcaption { - padding: 0.5em; - font-style: italic; - line-height: 2; - } - } - - -} \ No newline at end of file diff --git a/assets/scss/base/variables.scss b/assets/scss/base/variables.scss index 72fe33e..0110d0f 100644 --- a/assets/scss/base/variables.scss +++ b/assets/scss/base/variables.scss @@ -5,6 +5,7 @@ $max-container-width: 1600px; --color-background: hsl(210, 100%, 90%); --color-text: hsl(210, 100%, 15%); + --color-text-muted: hsl(210, 50%, 45%); --color-highlight: hsl(210, 80%, 40%); --color-highlight-weak: hsl(210, 80%, 80%); --color-accent: hsl(150, 50%, 50%); diff --git a/assets/scss/layouts/_default/single.scss b/assets/scss/layouts/_default/single.scss index d227493..a596314 100644 --- a/assets/scss/layouts/_default/single.scss +++ b/assets/scss/layouts/_default/single.scss @@ -1,46 +1,5 @@ -.page .title { - font-family: serif; - margin-top: 2em; -} - -.page .summary { - font-size: 1.25em; - font-family: serif; -} - -.page .wordcount { - margin: 0; -} - -.page .tags-title { - font-variant: small-caps; - font-weight: bold; - margin: 0.5em 0; -} - -.page .tags { - display: flex; - flex-flow: row wrap; - gap: 0.5em; - list-style: none; - margin-left: 0; - li { - margin: 0; +main.single { + .page-title, .page-summary, .content .container > * { + max-width: 80ch; } - a { - display: block; - padding: 0.5rem; - background: #cde; - border-radius: 6px; - &:before { - content: "#" - } - } - -} - -.page .toc-title { - margin-block-end: 0.5em; - font-weight: bold; - font-variant: small-caps; } \ No newline at end of file diff --git a/assets/scss/layouts/blog/list.scss b/assets/scss/layouts/blog/list.scss index c4374b7..08dda9d 100644 --- a/assets/scss/layouts/blog/list.scss +++ b/assets/scss/layouts/blog/list.scss @@ -1,7 +1,60 @@ -.list-item__title { - font-size: 1.5em; -} - -.list-item__summary { - font-size: 1em; +main.blog.list { + padding-block: 3rem; + .categories { + ul { + list-style: none; + padding-inline-start: 0; + li {margin-block: 0.5rem;} + } + } + .posts { + display: grid; + gap: 2rem; + } + .pagination { + list-style: none; + padding: 0; + display: flex; + gap: 1rem; + .page-item { + display: inline-block; + background: var(--color-highlight-weak); + &:hover { + background: var(--color-highlight); + } + border-radius: 100rem; + &.active { + background: unset; + font-weight: bold; + } + &.disabled { + display: none; + } + .page-link { + display: inline-grid; + place-items: center; + text-decoration: none; + width: 1.5rem; + height: 1.5rem; + } + } + } + @media (min-width: 60rem) { + display: grid; + grid-template-areas: + "header header" + "categories posts"; + gap: 2rem 4rem; + grid-template-columns: auto 1fr; + width: 100%; + > header { + grid-area: header; + } + .categories { + grid-area: categories; + } + .posts { + grid-area: posts; + } + } } \ No newline at end of file diff --git a/assets/scss/layouts/blog/single.scss b/assets/scss/layouts/blog/single.scss index 53387c4..8d575c8 100644 --- a/assets/scss/layouts/blog/single.scss +++ b/assets/scss/layouts/blog/single.scss @@ -1,72 +1,3 @@ -.blog .post .title { - font-family: serif; - margin-top: 2em; -} - -.blog .post .summary { - font-size: 1.25em; - font-family: serif; -} - -.blog .post .wordcount { - margin: 0; -} - -.blog .post .tags-title { - font-variant: small-caps; - font-weight: bold; - margin: 0.5em 0; -} - -.blog .post .tags { - display: flex; - flex-flow: row wrap; - gap: 0.5em; - list-style: none; - margin-left: 0; - li { - margin: 0; - } - a { - display: block; - padding: 0.5rem; - background: #cde; - border-radius: 6px; - &:before { - content: "#" - } - } -} - -.blog .toc-title { - margin-block-end: 0.5em; - font-weight: 900; - text-transform: uppercase; - color: var(--ui-text-muted); -} - -.blog .post .content { - margin-block: 4em; -} - -@media (min-width: 75ch) { - .blog .post .content { - display: grid; - grid-template-columns: 1fr minmax(45ch, 75ch) 1fr; - } - .blog .post .content > * { - grid-column: 2; - margin-top: 0; - } - .blog .post .content > figure { - grid-column: 1 / span 3; - margin: 2em 0; - } - .blog .post .content figcaption { - max-width: 78ch; - margin: 0 auto; - } - .blog .post .content > hr { - width: 10ch; - } +main.blog.single { + } \ No newline at end of file diff --git a/assets/scss/layouts/index.scss b/assets/scss/layouts/index.scss index 44e99e0..b480956 100644 --- a/assets/scss/layouts/index.scss +++ b/assets/scss/layouts/index.scss @@ -10,6 +10,9 @@ main.index { gap: var(--gap, 1rem); padding-inline: 0; + padding-block-end: var(--gap, 2rem); + + #about {display: contents;} #hcard { background: var(--color-card-background); @@ -28,7 +31,6 @@ main.index { background-size: cover; background-position: center; width: 100%; - height: 100%; max-height: 20rem; aspect-ratio: 2; @@ -156,15 +158,35 @@ main.index { padding-inline: var(--padding-inline, 1rem); } + #activity { + header { + display: flex; + h2 { + display: inline-block; + } + align-items: end; + p { + margin-block-end: 1.5rem; + } + justify-content: space-between; + } + } + @media (min-width: 60rem) { --gap: 1rem; padding-inline: 2rem; grid-template-areas: - "info deeds" + "hcard deeds" + "quotes deeds" "updates updates"; grid-template-columns: 20rem 1fr; - #info { - grid-area: info; + grid-template-rows: auto auto 1fr; + #hcard { + grid-area: hcard; + } + #quotes { + grid-area: quotes; + margin-block-start: 0; } #deeds { grid-area: deeds; @@ -177,7 +199,8 @@ main.index { @media (min-width: 1200px) { padding-inline: 3rem; grid-template-areas: - "info deeds updates"; + "hcard deeds updates" + "quotes deeds updates"; grid-template-columns: 20rem 1fr 20rem; } } \ No newline at end of file diff --git a/assets/scss/layouts/partials/h-entry.scss b/assets/scss/layouts/partials/h-entry.scss new file mode 100644 index 0000000..1c96fff --- /dev/null +++ b/assets/scss/layouts/partials/h-entry.scss @@ -0,0 +1,24 @@ +.h-entry { + .tags { + padding-inline-start: 0; + list-style: none; + display: flex; + flex-flow: row wrap; + gap: 1rem; + li { + display: inline; + } + a { + background: var(--color-highlight-weak); + text-decoration: none; + font-family: monospace; + padding: 0.25rem; + &:before { + content: '#'; + } + &:hover { + background: var(--color-highlight); + } + } + } +} \ No newline at end of file diff --git a/assets/scss/layouts/partials/site-footer.scss b/assets/scss/layouts/partials/site-footer.scss index b982b13..e21cb2f 100644 --- a/assets/scss/layouts/partials/site-footer.scss +++ b/assets/scss/layouts/partials/site-footer.scss @@ -1,94 +1,11 @@ .site-footer { - background: #fff; - color: #212121; - padding: 2em 0 calc(2em + 4em); - @media (min-width: 960px) { - padding: 2em 0; - } + --padding-block: 2rem; hr { display: none; } - .container { - display: flex; - flex-flow: row wrap; - justify-content: space-between; - gap: 2em; - } - .external-links { - margin: 0 auto; - display: grid; - grid-template-columns: repeat(6,1fr); - gap: 1em; - margin-top: 2rem; - a { - width: 2em; - aspect-ratio: 1; - display: flex; - justify-content: center; - align-items: center; - text-decoration: none; - color: inherit; - } - i {font-size: 1.6em;} - } - .footer-copy { - font-family: monospace; - width: 100%; - h1 { - font-weight: 700; - font-size: 1.21em; - margin-bottom: 1em; - } - h2 { - font-weight: 700; - font-size: 1.1em; - margin-bottom: 0.7rem; - margin-top: 1rem; - } - h3 { - font-weight: 700; - font-size: 1em; - margin-bottom: 0.5rem; - margin-top: 1rem; - } - ul { - display: flex; - flex-flow: column; - gap: 0.5rem; - } - p { - line-height: 1.4; - max-width: 55ch; - } - a h3 { - display: inline-block; - } - } - .git-lastcommit { - margin-bottom: 0.7rem; - display: grid; - grid-template-areas: - "time time" - "hash subj"; - grid-template-columns: max-content 1fr; - time { - grid-area: time; - display: flex; - justify-content: start; - align-items: center; - padding: 0.25rem 0; - } - p { - grid-area: subj; - padding: 1em; - } - a { - grid-area: hash; - display: flex; - justify-content: center; - align-items: center; - border-radius: 0.25rem; - font-family: monospace; - } - } + background: var(--color-text); + color: var(--color-background); + padding-block-start: var(--padding-block, 2rem); + padding-bottom: calc(var(--nav-height, 4rem) + var(--padding-block, 2rem)); + a {word-wrap: break-word;} } \ No newline at end of file diff --git a/assets/scss/layouts/partials/site-header.scss b/assets/scss/layouts/partials/site-header.scss index 2e1554d..4bde1f4 100644 --- a/assets/scss/layouts/partials/site-header.scss +++ b/assets/scss/layouts/partials/site-header.scss @@ -1,6 +1,7 @@ .site-header { text-transform: lowercase; padding-block: 1rem; + background: var(--color-background); .container { height: 4rem; display: grid; @@ -69,7 +70,6 @@ --icon-size-active: 3rem; --icon-size-hover: 3rem; height: var(--nav-height, 4rem); - @include box-shadow-heavy; padding-block-end: 0.5rem; ul { list-style: none; @@ -104,6 +104,9 @@ font-size: var(--icon-size, 2rem); border-radius: 100rem; } + span { + line-height: 1; + } &:hover { color: var(--color-highlight); svg { @@ -119,7 +122,7 @@ bottom: 0; left: 0; width: 100%; - box-shadow: 0 -1px 3px rgba(0,0,0,0.12), 0 -1px 2px rgba(0,0,0,0.24); + box-shadow: 0 -1px 3px rgba(0,35,54,0.12), 0 -1px 2px rgba(0,35,54,0.24); } @media (min-width: 768px) { --nav-height: 4rem; @@ -145,5 +148,4 @@ body { --nav-height: 5rem; - margin-bottom: var(--nav-height, 4rem); } \ No newline at end of file diff --git a/assets/scss/layouts/taxonomy/category.scss b/assets/scss/layouts/taxonomy/category.scss new file mode 100644 index 0000000..912fde3 --- /dev/null +++ b/assets/scss/layouts/taxonomy/category.scss @@ -0,0 +1,8 @@ +main.category { + .entries { + .container { + display: grid; + gap: 2rem; + } + } +} \ No newline at end of file diff --git a/assets/scss/main.scss b/assets/scss/main.scss index f55015b..91bb52c 100644 --- a/assets/scss/main.scss +++ b/assets/scss/main.scss @@ -1,7 +1,6 @@ @import "base/variables.scss"; @import "base/mixins.scss"; @import "base/layout.scss"; -@import "base/content.scss"; @import "base/links.scss"; @import "libraries/photoswipe.scss"; @@ -15,7 +14,9 @@ @import "layouts/index.scss"; -@import "layouts/work/list.scss"; @import "layouts/blog/list.scss"; +@import "layouts/blog/single.scss"; -@import "layouts/blog/single.scss"; \ No newline at end of file +@import "layouts/partials/h-entry.scss"; + +@import "layouts/taxonomy/category.scss"; \ No newline at end of file diff --git a/layouts/index.html b/content/_index.html similarity index 57% rename from layouts/index.html rename to content/_index.html index 85d1a97..6b31aea 100644 --- a/layouts/index.html +++ b/content/_index.html @@ -1,5 +1,10 @@ -{{ define "body" }} -{{ partial "site-header.html" . }} ++++ +title = "Abdullah Tarawneh" +summary = "Abdullah Tarawneh is an information architect, designer, developer, photographer, and all-around creative, especially for the web." +tags = ["abdullah", "tarawneh", "birmingham", "hoover", "alabama", "design", "designer", "web", "developer", "freelance", "freelancer", "photography", "photographer", "technical writer", "creative", "consultant"] +layout = "custom_html" ++++ +
@@ -19,12 +24,12 @@
Email
- +
XMPP
a@trwnh.com
- +
Fediverse
mastodon.social/@trwnh
@@ -38,12 +43,12 @@
Personal website
trwnh.com
- +
Personal code repos
git.trwnh.com
- +
Github
github.com/trwnh
@@ -87,19 +92,35 @@

Notable work

-

Mastodon documentation case study

+

Mastodon documentation

mastodon documentation -

I reorganized and rewrote the docs for an open-source project with millions of users.

+

In August 2019, a offered their services to completely revamp the documentation for Mastodon, while also writing or rewriting significant portions of it. From the beginning, they developed an information architecture based on the various user personas that would be reading the documentation -- end users, administrators, contributors, client developers, and protocol implementers. a developed each persona into a section with its own narrative journey. Following this, they wrote out the missing parts of the documentation.

+

+ a was contracted again in late 2022 to help update the content of the documentation for the monumentous v4.0 update of Mastodon.

Read more > -
+

Present involvement

social web so-called "expert"

-

Member of the Social Web Community Group at the W3C. Writing a W3C SWICG report on ActivityPub and WebFinger.

-

Also active on the SocialHub forum for the ActivityPub community.

+

a has been active in the world of open source and free software since at least 2017. As a power user, a quickly got involved in discussions on the GitHub issue tracker for Mastodon, Pixelfed, and other fediverse projects. a is a member of the Social Web Community Group at the W3C, and is also active on the SocialHub forum for the ActivityPub community.

+ +
+

Fediverse Enhancement Proposals

+ +
@@ -107,7 +128,7 @@

Future directions

untitled social app

-

For the past few years, I've been developing a theoretical framework for unified social communications across various protocols. I'd like to collect my ideas into writings that will be published on this site.

+

For the past few years, I've been developing a theoretical framework for unified social communications across various protocols. I'd like to collect my ideas into writings that will be published on this site or elsewhere.

@@ -116,23 +137,25 @@

Latest news

-

June 2024: updated this website's layout

-
- -
-

Latest posts

-
    - -
+

I am looking for work! View my work page for more about what I can do.

Latest changes

- {{ range first 5 .Site.RegularPages.ByLastmod.Reverse }} -

{{ .Title }} was edited on {{ .Lastmod }} by commit {{.GitInfo.AbbreviatedHash}} - {{.GitInfo.Subject}}

- {{ end }} +
    +
  • +

    June 2024: New site redesign!

    +
  • +
+
+ +
+
+

Latest posts

+

See more posts

+
+ {{< index/latest-posts>}}
-
-{{ end }} \ No newline at end of file + \ No newline at end of file diff --git a/content/_index.md b/content/_index.md deleted file mode 100644 index 7895ede..0000000 --- a/content/_index.md +++ /dev/null @@ -1,57 +0,0 @@ -+++ -title = "Abdullah Tarawneh" -summary = "**Abdullah Tarawneh** is an information architect, designer, developer, photographer, and all-around creative, especially for the web." -tags = ["abdullah", "tarawneh", "birmingham", "hoover", "alabama", "design", "designer", "web", "developer", "freelance", "freelancer", "photography", "photographer", "technical writer", "creative", "consultant"] -+++ - -## h-card - -{{< hcard-full >}} - -## Professional work - -Main page: [Work](/work) - -Abdullah Tarawneh is currently available for work. - -### Mastodon documentation - -Main page: [Mastodon](/work/mastodon) - -In August 2019, Abdullah Tarawneh offered their services to completely revamp the documentation for Mastodon, while also writing or rewriting significant portions of it. From the beginning, they developed an information architecture based on the various user personas that would be reading the documentation -- end users, administrators, contributors, client developers, and protocol implementers. Abdullah Tarawneh developed each persona into a section with its own narrative journey. Following this, they wrote out the missing parts of the documentation. - -Abdullah Tarawneh was contracted again in late 2022 to help update the content of the documentation for the monumentous v4.0 update of Mastodon. - -### Senior Technical Writer / Product Knowledge Curator at Trilogy - -Main page: [Trilogy](/work/trilogy) - -From May 2021 through December 2021, Abdullah Tarawneh was contracted as a Product Knowledge Curator for Trilogy. In this role, they managed the knowledge bases of numerous products all at once. Being responsible for several products under the banner of Central Support meant that they had to quickly and rapidly learn new products with limited information. They were tasked with analyzing customer support tickets one by one, in order to document the problems and solutions faced by actual customers. The resulting analysis would be used to write a clear and concise solution article, and the troubleshooting steps involved in reaching that solution would be compiled across several tickets into a troubleshooting article that would aid agents in disambiguating similar issues. Based on these articles, Abdullah Tarawneh created training units within a learning management system consisting of either a test or a task based on each article/ticket pair. - -## Free software contributions - -Main page: [Code](/code) - -Abdullah Tarawneh has been active in the world of open source and free software since at least 2017. - -### Involvement with the fediverse - -As a power user, Abdullah Tarawneh quickly got involved in discussions on the GitHub issue tracker for Mastodon, Pixelfed, and other fediverse projects. - -## Quotes about the subject - -{{< figquote cite="a former classmate" >}} -It's scary how much you know. -{{< /figquote >}} - -{{< figquote cite="an electrician" >}} -You're the first person I've met that keeps a spreadsheet of their lightbulbs. -{{< /figquote >}} - -{{< figquote cite="a social networking acquaintance" >}} -VERY MUCH not garbage [...] a worthwhile human -{{< /figquote >}} - -{{< figquote cite="a professional colleague" >}} -Honestly, I trust your judgement more than I trust my own. -{{< /figquote >}} \ No newline at end of file diff --git a/content/blog/_index.md b/content/blog/_index.html similarity index 100% rename from content/blog/_index.md rename to content/blog/_index.html diff --git a/content/code/certbot-namecheap/cover.png b/content/blog/certbot-namecheap/cover.png similarity index 100% rename from content/code/certbot-namecheap/cover.png rename to content/blog/certbot-namecheap/cover.png diff --git a/content/code/certbot-namecheap/index.md b/content/blog/certbot-namecheap/index.md similarity index 98% rename from content/code/certbot-namecheap/index.md rename to content/blog/certbot-namecheap/index.md index ba7a988..13438cf 100644 --- a/content/code/certbot-namecheap/index.md +++ b/content/blog/certbot-namecheap/index.md @@ -2,9 +2,12 @@ title = "Certbot DNS-01 hook for Namecheap" summary = "A manual authorization hook for EFF Certbot, allowing DNS-01 challenge verification with Namecheap domains. Written in Python." author = "Abdullah Tarawneh" -date = "2019-10-30" +date = 2019-10-30 tags = ["namecheap", "certbot", "dns-01", "python", "letsencrypt"] categories = ["Code"] +aliases = [ + "/code/namecheap", +] +++ ## The problem diff --git a/content/code/liberapay-pleroma/cover.jpg b/content/blog/liberapay-pleroma/cover.jpg similarity index 100% rename from content/code/liberapay-pleroma/cover.jpg rename to content/blog/liberapay-pleroma/cover.jpg diff --git a/content/code/liberapay-pleroma/index.md b/content/blog/liberapay-pleroma/index.md similarity index 95% rename from content/code/liberapay-pleroma/index.md rename to content/blog/liberapay-pleroma/index.md index 1167a74..465b3f9 100644 --- a/content/code/liberapay-pleroma/index.md +++ b/content/blog/liberapay-pleroma/index.md @@ -2,9 +2,12 @@ title = "Liberapay: Add Pleroma support" summary = "Pleroma is compatible with the Mastodon API, but uses a different URL format. This pull request creates a Pleroma identity provider within Liberapay that takes this difference into account." author = "Abdullah Tarawneh" -date = "2019-11-13" +date = 2019-11-13 tags = ["mastodon", "api", "pleroma", "liberapay", "contribution", "pull request", "github"] categories = ["Code"] +aliases = [ + "/code/liberapay-pleroma", +] +++ pleroma is compatible with mastodon api. diff --git a/content/code/mastomods/cover.jpg b/content/blog/mastomods/cover.jpg similarity index 100% rename from content/code/mastomods/cover.jpg rename to content/blog/mastomods/cover.jpg diff --git a/content/code/mastomods/index.md b/content/blog/mastomods/index.md similarity index 94% rename from content/code/mastomods/index.md rename to content/blog/mastomods/index.md index 51affe7..898af3a 100644 --- a/content/code/mastomods/index.md +++ b/content/blog/mastomods/index.md @@ -2,9 +2,12 @@ title = "MastoMods" summary = "CSS tweaks and modifications for Mastodon, a libre micro-blogging social server similar to Twitter." author = "Abdullah Tarawneh" -date = "2019-02-18" +date = 2019-02-18 tags = ["mastomods", "mastodon", "css", "userstyles", "tweaks"] categories = ["Code"] +aliases = [ + "/code/mastomods", +] +++ This work is heavily based on (and an extension of) my earlier work on Mastodon Flat CSS, and its child theme Linernotes Mastodon Themes. I grew tired of having to maintain what was essentially the same code in multiple different places, so this repo was created to be a more modular way of managing code snippets after I learned enough about how importing works. diff --git a/content/blog/no-right-to-profit/index.md b/content/blog/no-right-to-profit/index.md index c2e1803..63d500f 100644 --- a/content/blog/no-right-to-profit/index.md +++ b/content/blog/no-right-to-profit/index.md @@ -2,9 +2,12 @@ title = "You don't have a right to profit." summary = "People will go to ridiculous lengths in the name of protecting the “right” to profit. Let’s be real here. No one has a “right” to profit." author = "Abdullah Tarawneh" -date = "2015-07-08" +date = 2015-07-08 tags = ["capitalism", "profit", "music", "music industry", "piracy", "distribution", "access"] -categories = ["Blog"] +categories = ["Uncategorized"] +[[resources]] +name = "featured" +src = "download.png" +++

These days, you see a lot of ridiculous things like copyright claims on the download pages of free software, because they contain the word “download”. A lot of these stupid actions are done in the name of “protecting the artists”. People will go to ridiculous lengths in the name of protecting the “right” to profit.

diff --git a/content/code/obs-edit-transform/cover.jpg b/content/blog/obs-edit-transform/cover.jpg similarity index 100% rename from content/code/obs-edit-transform/cover.jpg rename to content/blog/obs-edit-transform/cover.jpg diff --git a/content/code/obs-edit-transform/index.md b/content/blog/obs-edit-transform/index.md similarity index 91% rename from content/code/obs-edit-transform/index.md rename to content/blog/obs-edit-transform/index.md index 90a38cb..6122ff2 100644 --- a/content/code/obs-edit-transform/index.md +++ b/content/blog/obs-edit-transform/index.md @@ -1,10 +1,13 @@ +++ title = "OBS Studio: Ctrl+E to Edit Transform" summary = "I added a shortcut to edit transforms on a source in OBS Studio." -date = "2017-04-30" +date = 2017-04-30 author = "Abdullah Tarawneh" tags = ["obs", "open broadcaster software", "obs studio", "keyboard shortcut", "edit transform", "pull request", "github"] categories = ["Code"] +aliases = [ + "/code/obs-edit-transform", +] +++ Editing was very easy in OBS Classic, and I could not find the option for stretching a source to bounds in OBS Studio, so the "Edit Transform" dialogue should be more user-facing. Giving it a keyboard shortcut denotes that it is important enough to have a shortcut, as opposed to the myriad options with no shortcut. diff --git a/content/blog/personal-websites/index.md b/content/blog/personal-websites/index.md index e148747..35451b8 100644 --- a/content/blog/personal-websites/index.md +++ b/content/blog/personal-websites/index.md @@ -2,9 +2,9 @@ title = "I wish personal websites were actually personal." summary = "When I say personal website, I do not mean a page or portfolio for potential employers or clients to hire you." author = "Abdullah Tarawneh" -date = "2023-03-18" +date = 2023-03-18 tags = ["personal websites", "portfolios", "services", "branding", "marketing", "capitalism"] -categories = ["Blog"] +categories = ["Uncategorized"] +++

A lot of resources and materials that are readily available for helping you make a so-called personal website generally assume that you are trying to get hired or get clients. To me, this is a strange interpretation of "personal". I would describe such websites as professional websites instead. When I say personal website, I do not mean a page or portfolio for potential employers or clients to hire you. I mean a place to be yourself and to express yourself to others. I want advice on self-reflection and introspection and knowing yourself -- how to identify and how to introduce yourself; how to be genuinely engaging. Stuff that gets to the heart of who you are.

diff --git a/content/code/photobucketgrabber/cover.png b/content/blog/photobucketgrabber/cover.png similarity index 100% rename from content/code/photobucketgrabber/cover.png rename to content/blog/photobucketgrabber/cover.png diff --git a/content/code/photobucketgrabber/index.md b/content/blog/photobucketgrabber/index.md similarity index 61% rename from content/code/photobucketgrabber/index.md rename to content/blog/photobucketgrabber/index.md index f8f83b6..01b9b13 100644 --- a/content/code/photobucketgrabber/index.md +++ b/content/blog/photobucketgrabber/index.md @@ -1,12 +1,24 @@ +++ title = "PhotoBucketGrabber" -summary = "Download all your photos from PhotoBucket using this Python script." +summary = "[OBSOLETE] Download all your photos from PhotoBucket using this Python script." author = "Abdullah Tarawneh" -date = "2019-03-17" +date = 2019-03-17 tags = ["python", "photobucket", "automation", "scripting", "archive", "export", "download"] categories = ["Code"] +aliases = [ + "/code/photobucketgrabber", +] +++ + + ## The problem I had an old PhotoBucket account that I wanted to archive and delete. However, it would take an extremely long time to manually save each photo and recreate any albums' folder structure. diff --git a/content/code/photobucketgrabber/select.jpg b/content/blog/photobucketgrabber/select.jpg similarity index 100% rename from content/code/photobucketgrabber/select.jpg rename to content/blog/photobucketgrabber/select.jpg diff --git a/content/blog/rip-grooveshark/index.md b/content/blog/rip-grooveshark/index.md index 6a51d43..fbb24e1 100644 --- a/content/blog/rip-grooveshark/index.md +++ b/content/blog/rip-grooveshark/index.md @@ -2,9 +2,12 @@ title = "RIP Grooveshark." summary = "I last used Grooveshark earlier today. I refreshed the page and found that it was dead. [...] I find myself feeling about Grooveshark similarly as when I found out that Megaupload had been shut down, and that many of my files were lost forever." author = "Abdullah Tarawneh" -date = "2015-05-01" +date = 2015-05-01 tags = ["grooveshark", "music", "music industry", "culture", "user generated content", "capitalism", "copyright"] -categories = ["Blog"] +categories = ["Uncategorized"] +[[resources]] +name = "featured" +src = "rip.png" +++ I last used Grooveshark earlier today. I refreshed the page and found that it was dead. Grooveshark has finally shut down. UMG et al have won. Effective immediately, the Grooveshark service no longer works, all music has been wiped entirely from the site, user data has been lost, curated playlists are inaccessible, VIP users are unable to get refunds, all social media accounts have been deleted, and the grooveshark.com website shows only an apology that admits wrongdoing and directs users to whymusicmatters.org, the RIAA’s website. diff --git a/content/code/salatime/cover.jpg b/content/blog/salatime/cover.jpg similarity index 100% rename from content/code/salatime/cover.jpg rename to content/blog/salatime/cover.jpg diff --git a/content/code/salatime/index.md b/content/blog/salatime/index.md similarity index 91% rename from content/code/salatime/index.md rename to content/blog/salatime/index.md index 08f7846..89d4c44 100644 --- a/content/code/salatime/index.md +++ b/content/blog/salatime/index.md @@ -1,10 +1,13 @@ +++ title = "salatime" -summary = "Basic terminal script to print out daily prayer times for Birmingham, AL." -date = "2019-05-09" +summary = "[OBSOLETE] Basic terminal script to print out daily prayer times for Birmingham, AL." +date = 2019-05-09 author = "Abdullah Tarawneh" tags = ["python", "web scraping", "scraping", "beautifulsoup", "salat", "prayer", "time"] categories = ["Code"] +aliases = [ + "/code/salatime", +] +++