To v 16.1.1: merge card css classes
This commit is contained in:
+88
-71
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
:root {
|
:root {
|
||||||
--ui-spacing: 0.25rem;
|
--ui-spacing: 0.25rem;
|
||||||
--ui-primary: var(--color-deep-dark);
|
--ui-primary: var(--color-deep-dark);
|
||||||
@@ -61,6 +60,9 @@
|
|||||||
outline: var(--ui-ring-size) solid var(--ui-ring-color);
|
outline: var(--ui-ring-size) solid var(--ui-ring-color);
|
||||||
outline-offset: var(--ui-ring-offset);
|
outline-offset: var(--ui-ring-offset);
|
||||||
}
|
}
|
||||||
|
button, .btn {
|
||||||
|
user-select: none!important;
|
||||||
|
}
|
||||||
body,main {
|
body,main {
|
||||||
font-family: var(--font-sans);
|
font-family: var(--font-sans);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@@ -93,7 +95,7 @@ h6 { font-size: 0.90em; }
|
|||||||
.material-symbols-outlined {
|
.material-symbols-outlined {
|
||||||
font-variation-settings:
|
font-variation-settings:
|
||||||
'FILL' 0,
|
'FILL' 0,
|
||||||
'wght' 400,
|
'wght' 100,
|
||||||
'GRAD' 0,
|
'GRAD' 0,
|
||||||
'opsz' 24
|
'opsz' 24
|
||||||
}
|
}
|
||||||
@@ -133,11 +135,25 @@ h6 { font-size: 0.90em; }
|
|||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
.web-header-title {
|
.web-header-title {
|
||||||
font-size: 18px;
|
display: none;
|
||||||
|
visibility: hidden;
|
||||||
|
font-size: 16px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
margin-inline: calc(var(--ui-spacing)*2);
|
margin-inline: calc(var(--ui-spacing)*2);
|
||||||
}
|
}
|
||||||
|
@media screen and (min-width: 480px) {
|
||||||
|
.web-header-title {
|
||||||
|
display: block;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 479px) {
|
||||||
|
.web-header-logo-banner > .web-header-logo {
|
||||||
|
width: var(--ui-header-height-collapsed);
|
||||||
|
height: var(--ui-header-height-collapsed);
|
||||||
|
}
|
||||||
|
}
|
||||||
.web-nav, .web-footer-content, .article {
|
.web-nav, .web-footer-content, .article {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
@@ -292,7 +308,7 @@ p {
|
|||||||
.web-section.web-section-narrow {
|
.web-section.web-section-narrow {
|
||||||
max-width: var(--ui-container-narrow);
|
max-width: var(--ui-container-narrow);
|
||||||
}
|
}
|
||||||
.project-card-container, .font-card-container, .post-card-container {
|
.card-container {
|
||||||
margin-block: 1em;
|
margin-block: 1em;
|
||||||
background: var(--color-container);
|
background: var(--color-container);
|
||||||
color: var(--color-on-container);
|
color: var(--color-on-container);
|
||||||
@@ -305,91 +321,86 @@ p {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
box-shadow: 0 1px 1px rgb(0,0,0,.1);
|
box-shadow: 0 1px 1px rgb(0,0,0,.1);
|
||||||
}
|
}
|
||||||
/* .project-card-container > li:not(:last-child):not(:first-child):not(:only-child) > .project-card,
|
.card-container > li { margin-left: 0; }
|
||||||
.post-card-container > a.post-card:not(:last-child):not(:first-child):not(:only-child),
|
.card {
|
||||||
.font-card-container > li:not(:last-child):not(:first-child):not(:only-child) > .font-card {
|
|
||||||
border-radius: calc(var(--ui-spacing)*1);
|
|
||||||
}
|
|
||||||
.project-card-container > li:last-child:not(:only-child) > .project-card,
|
|
||||||
.post-card-container > a.post-card:last-child:not(:only-child),
|
|
||||||
.font-card-container > li:last-child:not(:only-child) > .font-card {
|
|
||||||
border-top-left-radius: calc(var(--ui-spacing)*1);
|
|
||||||
border-top-right-radius: calc(var(--ui-spacing)*1);
|
|
||||||
}
|
|
||||||
.project-card-container > li:first-child:not(:only-child) > .project-card,
|
|
||||||
.post-card-container > a.post-card:first-child:not(:only-child),
|
|
||||||
.font-card-container > li:first-child:not(:only-child) > .font-card {
|
|
||||||
border-bottom-left-radius: calc(var(--ui-spacing)*1);
|
|
||||||
border-bottom-right-radius: calc(var(--ui-spacing)*1);
|
|
||||||
} */
|
|
||||||
.project-card-container > li, .post-card-container > li, .font-card-container > li { margin-left: 0; }
|
|
||||||
.project-card, .font-card, .post-card {
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background: var(--ui-bg-muted);
|
background: var(--ui-bg-muted);
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
h3 {
|
}
|
||||||
|
.card.disabled {
|
||||||
|
opacity: 0.5;
|
||||||
|
pointer-events: none;
|
||||||
|
cursor: not-allowed;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
.card > h3 {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 1;
|
-webkit-line-clamp: 1;
|
||||||
}
|
z-index: 1;
|
||||||
h3, p { z-index: 1; }
|
}
|
||||||
img {
|
.card > p {
|
||||||
aspect-ratio: 16/9;
|
z-index: 1;
|
||||||
object-fit: cover;
|
|
||||||
width: 100%;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
}
|
}
|
||||||
.iconify {
|
.card > img {
|
||||||
background-color: var(--ui-text);
|
aspect-ratio: 16/9;
|
||||||
|
object-fit: cover;
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
.card > .iconify,
|
||||||
|
.card > .material-symbols-outlined {
|
||||||
|
background: var(--color-primary);
|
||||||
|
color: var(--color-on-primary);
|
||||||
width: calc(var(--ui-spacing)*16);
|
width: calc(var(--ui-spacing)*16);
|
||||||
height: calc(var(--ui-spacing)*16);
|
height: calc(var(--ui-spacing)*16);
|
||||||
}
|
}
|
||||||
.project-card-content, .font-card-content, .post-card-content {
|
.card > .material-symbols-outlined {
|
||||||
|
align-content: center;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 48px;
|
||||||
|
font-variation-settings:
|
||||||
|
'opsz' 48
|
||||||
|
}
|
||||||
|
.card > .card-content {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: calc(var(--ui-spacing)*3);
|
padding: calc(var(--ui-spacing)*3);
|
||||||
h3 {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.disabled {
|
|
||||||
opacity: 0.5;
|
|
||||||
pointer-events: none;
|
|
||||||
cursor: not-allowed;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.project-card:hover, .font-card:hover, .post-card:hover {
|
.card > .card-content h3 {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.card:hover {
|
||||||
background: var(--color-secondary);
|
background: var(--color-secondary);
|
||||||
}
|
}
|
||||||
.project-card:not(:only-child):not(:last-child),
|
.card-container > .card:not(:only-child):not(:last-child) {
|
||||||
.font-card:not(:only-child):not(:last-child),
|
|
||||||
.post-card:not(:only-child):not(:last-child) {
|
|
||||||
border-bottom: 1px solid var(--color-outline);
|
border-bottom: 1px solid var(--color-outline);
|
||||||
}
|
}
|
||||||
@media screen and (min-width: 640px) {
|
.card.card-always-long {
|
||||||
.project-card, .font-card, .post-card {
|
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
img {
|
}
|
||||||
|
@media screen and (min-width: 640px) {
|
||||||
|
.card, .card.card-always-long {
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
.card > img {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
max-width: calc(var(--ui-spacing)*64);
|
max-width: calc(var(--ui-spacing)*64);
|
||||||
}
|
}
|
||||||
.project-card-content, .font-card-content, .post-card-content {
|
.card > .card-content {
|
||||||
padding-inline: calc(var(--ui-spacing)*4);
|
padding-inline: calc(var(--ui-spacing)*4);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.hamburger-toggle {
|
.hamburger-toggle {
|
||||||
all: unset;
|
all: unset;
|
||||||
@@ -433,7 +444,8 @@ p {
|
|||||||
transition-timing-function: cubic-bezier(var(--ease-fluid));
|
transition-timing-function: cubic-bezier(var(--ease-fluid));
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 20rem;
|
max-width: 20rem;
|
||||||
.nav-wrapper {
|
}
|
||||||
|
.hamburger-menu > .nav-wrapper {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -441,37 +453,39 @@ p {
|
|||||||
padding: 0 calc(var(--ui-spacing)*4);
|
padding: 0 calc(var(--ui-spacing)*4);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
align-items: end;
|
align-items: end;
|
||||||
.nav-link, .nav-button {
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
.hamburger-menu > .nav-wrapper > .nav-link,
|
||||||
|
.hamburger-menu > .nav-wrapper > .nav-button {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
a, .hamburger-btn-square {
|
}
|
||||||
|
.hamburger-menu > .nav-wrapper > .nav-link > a,
|
||||||
|
.hamburger-menu > .nav-wrapper > .nav-link > .hamburger-btn-square {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding-inline: calc(var(--ui-spacing)*4);
|
padding-inline: calc(var(--ui-spacing)*4);
|
||||||
height: calc(var(--ui-spacing)*12);
|
height: calc(var(--ui-spacing)*12);
|
||||||
}
|
}
|
||||||
a.router-link-exact-active {
|
.hamburger-menu > .nav-wrapper > .nav-link > a.router-link-exact-active {
|
||||||
color: var(--color-accent);
|
color: var(--color-accent);
|
||||||
}
|
}
|
||||||
.hamburger-btn-square {
|
.hamburger-menu > .nav-wrapper > .nav-link > .hamburger-btn-square {
|
||||||
aspect-ratio: 1/1;
|
aspect-ratio: 1/1;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: unset;
|
width: unset;
|
||||||
}
|
}
|
||||||
}
|
.hamburger-menu > .nav-wrapper > .nav-link:not(:only-child):not(:last-child) {
|
||||||
.nav-link:not(:only-child):not(:last-child) {
|
|
||||||
border-bottom: 1px solid var(--color-outline);
|
border-bottom: 1px solid var(--color-outline);
|
||||||
}
|
}
|
||||||
.nav-button {
|
.hamburger-menu > .nav-wrapper > .nav-button {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 18rem;
|
max-width: 18rem;
|
||||||
margin-left: calc(var(--ui-spacing) * 0);
|
margin-left: calc(var(--ui-spacing) * 0);
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.hamburger-menu.hamburger-menu-hidden {
|
.hamburger-menu.hamburger-menu-hidden {
|
||||||
transform: translateX(-100%);
|
transform: translateX(-100%);
|
||||||
@@ -509,6 +523,8 @@ ul.nav-wrapper {
|
|||||||
align-content: center;
|
align-content: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
.nav-links > .nav-wrapper > .nav-link > a {
|
.nav-links > .nav-wrapper > .nav-link > a {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -635,7 +651,8 @@ a.btn {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.post-more-info {
|
.post-more-info {
|
||||||
margin-top: calc(var(--ui-spacing)*4);
|
margin: 0;
|
||||||
|
margin-top: calc(var(--ui-spacing)*2);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<template v-if="post">
|
<template v-if="post">
|
||||||
<NuxtLink class="post-card" :to="post?.path">
|
<NuxtLink class="card" :to="post?.path">
|
||||||
<img :src="post?.coverImage" :alt="post?.title + '’s cover image'"/>
|
<img width="256" :src="post?.coverImage" :alt="post?.title + '’s cover image'"/>
|
||||||
<div class="post-card-content">
|
<div class="card-content">
|
||||||
<h3 :title="post?.title">{{ post?.title }}</h3>
|
<h3 :title="post?.title">{{ post?.title }}</h3>
|
||||||
<p style="margin-block: 0.25em" :title="post?.description">{{ post?.description }}</p>
|
<p style="margin-block: 0.25em" :title="post?.description">{{ post?.description }}</p>
|
||||||
<p class="post-more-info" :title="useFormatDate(post?.dateUpdated)">📅 {{ useRelativeDate(post?.dateUpdated) }}</p>
|
<p class="post-more-info" :title="useFormatDate(post?.dateUpdated)">📅 {{ useRelativeDate(post?.dateUpdated) }}</p>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="post-card-container">
|
<section class="card-container">
|
||||||
<template v-for="post in posts" :key="post.id">
|
<template v-for="post in posts" :key="post.id">
|
||||||
<PostCard :post="post" />
|
<PostCard :post="post" />
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<template v-if="project">
|
<template v-if="project">
|
||||||
<NuxtLink class="project-card" :to="project?.path">
|
<NuxtLink class="card" :to="project?.path">
|
||||||
<img :src="project?.logo" :alt="project?.title + '’s cover image'"/>
|
<img :src="project?.logo" :alt="project?.title + '’s cover image'"/>
|
||||||
<div class="project-card-content">
|
<div class="card-content">
|
||||||
<h3 :title="project?.title">{{ project?.title }}</h3>
|
<h3 :title="project?.title">{{ project?.title }}</h3>
|
||||||
<p style="margin-block: 0.25em" :title="project?.description">{{ project?.description }}</p>
|
<p style="margin-block: 0.25em" :title="project?.description">{{ project?.description }}</p>
|
||||||
<p class="post-more-info" :title="useFormatDate(project?.dateUpdated)">📅 {{ useRelativeDate(project?.dateUpdated) }}</p>
|
<p class="post-more-info" :title="useFormatDate(project?.dateUpdated)">📅 {{ useRelativeDate(project?.dateUpdated) }}</p>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="post-card-container">
|
<section class="card-container">
|
||||||
<template v-for="project in projects" :key="project.id">
|
<template v-for="project in projects" :key="project.id">
|
||||||
<ProjectCard :project="project" />
|
<ProjectCard :project="project" />
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import WebThemeToggle from './web-theme-toggle.vue';
|
|||||||
<p class="web-footer-notice">
|
<p class="web-footer-notice">
|
||||||
Copyright © Techit Thawiang 2025 (2568). All rights reserved.<br>
|
Copyright © Techit Thawiang 2025 (2568). All rights reserved.<br>
|
||||||
PGP/GPG Key: <code style="font-size: 12px;"><a href="https://files.thawia.ng/files/Techit Thawiang_0xE649CED321557334_public.asc">4116 33BE 1B4A 19D4 8D77 9ADE E649 CED3 2155 7334</a></code><br>
|
PGP/GPG Key: <code style="font-size: 12px;"><a href="https://files.thawia.ng/files/Techit Thawiang_0xE649CED321557334_public.asc">4116 33BE 1B4A 19D4 8D77 9ADE E649 CED3 2155 7334</a></code><br>
|
||||||
Powered by <a class="link" href="https://dailitation.xyz">dailitation.xyz</a>. <a class="link" href="https://github.com/TechitWinner/web">Source Code</a> is available under GPL-3.0 license.
|
Powered by <a class="link" href="https://dailitation.xyz">dailitation.xyz</a>; Website is available under <a class="link" href="https://github.com/TechitWinner/web">GPL-3.0</a>.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+24
-24
@@ -8,34 +8,34 @@
|
|||||||
<section class="web-section" aria-labelledby="decentralized" aria-describedby="decentralized-paragraph-1">
|
<section class="web-section" aria-labelledby="decentralized" aria-describedby="decentralized-paragraph-1">
|
||||||
<h2 class="web-title" id="decentralized">Decentral­ized Ways</h2>
|
<h2 class="web-title" id="decentralized">Decentral­ized Ways</h2>
|
||||||
<p id="decentralized-paragraph-1">I recommended to contact me via these given ways.</p>
|
<p id="decentralized-paragraph-1">I recommended to contact me via these given ways.</p>
|
||||||
<section class="font-card-container">
|
<section class="card-container">
|
||||||
<a class="font-card" href="mailto:techit@thawia.ng">
|
<a class="card" href="mailto:techit@thawia.ng">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
✉️ techit@thawia.ng
|
✉️ techit@thawia.ng
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="font-card" href="mailto:techit@dailitation.xyz">
|
<a class="card" href="mailto:techit@dailitation.xyz">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
✉️ techit@dailitation.xyz
|
✉️ techit@dailitation.xyz
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="font-card" href="mailto:techit@unix.in.th">
|
<a class="card" href="mailto:techit@unix.in.th">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
✉️ techit@unix.in.th
|
✉️ techit@unix.in.th
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="font-card" href="mailto:techit.th@icloud.com">
|
<a class="card" href="mailto:techit.th@icloud.com">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
✉️ techit.th@icloud.com
|
✉️ techit.th@icloud.com
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="font-card" href="https://furnu.org/@techit">
|
<a class="card" href="https://furnu.org/@techit">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
techit@furnu.org — Mastodon
|
techit@furnu.org — Mastodon
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<div class="font-card">
|
<div class="card">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
techitwinner@matrix.org — Matrix
|
techitwinner@matrix.org — Matrix
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -44,29 +44,29 @@
|
|||||||
<section class="web-section" aria-labelledby="centralized" aria-describedby="centralized-paragraph-1">
|
<section class="web-section" aria-labelledby="centralized" aria-describedby="centralized-paragraph-1">
|
||||||
<h2 class="web-title" id="centralized">Social Media</h2>
|
<h2 class="web-title" id="centralized">Social Media</h2>
|
||||||
<p id="centralized-paragraph-1">If I do not reply to messages sent via contact above, plesae kindly contact me via these social media accounts.</p>
|
<p id="centralized-paragraph-1">If I do not reply to messages sent via contact above, plesae kindly contact me via these social media accounts.</p>
|
||||||
<section class="font-card-container">
|
<section class="card-container">
|
||||||
<a class="font-card" href="https://x.com/techitwinner">
|
<a class="card" href="https://x.com/techitwinner">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
@techitwinner — X (Twitter)
|
@techitwinner — X (Twitter)
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="font-card" href="https://tiktok.com/@techitwinner">
|
<a class="card" href="https://tiktok.com/@techitwinner">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
@techitwinner — TikTok
|
@techitwinner — TikTok
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="font-card" href="https://instagram.com/techitwinner">
|
<a class="card" href="https://instagram.com/techitwinner">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
@techitwinner — Instagram
|
@techitwinner — Instagram
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="font-card" href="https://facebook.com/@techitwinner">
|
<a class="card" href="https://facebook.com/@techitwinner">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
@techitwinner — Facebook
|
@techitwinner — Facebook
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="font-card" href="https://bsky.app/profile/thawia.ng">
|
<a class="card" href="https://bsky.app/profile/thawia.ng">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
@thawia.ng — BlueSky
|
@thawia.ng — BlueSky
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
+6
-6
@@ -20,19 +20,19 @@
|
|||||||
<section v-else-if="fonts" v-for="family in fonts" key="family.id" class="web-section" :aria-labelledby="family.id + '-title'" :aria-describedby="family.desc + '-desc'">
|
<section v-else-if="fonts" v-for="family in fonts" key="family.id" class="web-section" :aria-labelledby="family.id + '-title'" :aria-describedby="family.desc + '-desc'">
|
||||||
<h2 :id="family.id + '-title'" class="web-title">{{ family.family }}</h2>
|
<h2 :id="family.id + '-title'" class="web-title">{{ family.family }}</h2>
|
||||||
<p :id="family.id + '-desc'">{{ family.desc }}</p>
|
<p :id="family.id + '-desc'">{{ family.desc }}</p>
|
||||||
<!-- <ul class="font-card-container">
|
<!-- <ul class="card-container">
|
||||||
<li v-for="font in family.children" :key="font.id">
|
<li v-for="font in family.children" :key="font.id">
|
||||||
<a :class="'font-card', {disabled: font.disabled}" :href="fontUrl + font.css">
|
<a :class="'card', {disabled: font.disabled}" :href="fontUrl + font.css">
|
||||||
<div class="font-card-content text-xl">
|
<div class="card-content text-xl">
|
||||||
{{ font.name }}
|
{{ font.name }}
|
||||||
<p>{{ fontUrl + font.css }}</p>
|
<p>{{ fontUrl + font.css }}</p>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul> -->
|
</ul> -->
|
||||||
<section class="font-card-container">
|
<section class="card-container">
|
||||||
<a class="font-card" v-for="font in family.children" :key="font.id" :href="fontUrl + font.css">
|
<a :class="'card', {disabled: font.disabled}" v-for="font in family.children" :key="font.id" :href="fontUrl + font.css">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
{{ font.name }}
|
{{ font.name }}
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
+9
-9
@@ -21,26 +21,26 @@
|
|||||||
<h2 class="web-title" id="projects">My projects</h2>
|
<h2 class="web-title" id="projects">My projects</h2>
|
||||||
<p id="projects-paragraph-1">As I said above, I usually spend my free time learning more about software engineering. This includes server administration for <a class="link" href="https://dailitation.xyz">dailitation.xyz</a>. Over time, small and large projects have born and died.</p>
|
<p id="projects-paragraph-1">As I said above, I usually spend my free time learning more about software engineering. This includes server administration for <a class="link" href="https://dailitation.xyz">dailitation.xyz</a>. Over time, small and large projects have born and died.</p>
|
||||||
<p id="projects-paragraph-2">Let's go take a look of my projects collection!</p>
|
<p id="projects-paragraph-2">Let's go take a look of my projects collection!</p>
|
||||||
<div class="project-card-container">
|
<div class="card-container">
|
||||||
<!-- <a target="_blank" href="https://github.com/TechitWinner/warehouse" class="project-card">
|
<!-- <a target="_blank" href="https://github.com/TechitWinner/warehouse" class="card">
|
||||||
<img src="https://files.thawia.ng/files/assets/warehouse.jpg">
|
<img src="https://files.thawia.ng/files/assets/warehouse.jpg">
|
||||||
<div class="project-card-content">
|
<div class="card-content">
|
||||||
<h3>Warehouse</h3>
|
<h3>Warehouse</h3>
|
||||||
<p title="I planned it to be my API for personal website and other stuff; written in Rust and Axum.">I planned it to be my API for personal website and other stuff; written in Rust and Axum.</p>
|
<p title="I planned it to be my API for personal website and other stuff; written in Rust and Axum.">I planned it to be my API for personal website and other stuff; written in Rust and Axum.</p>
|
||||||
</div>
|
</div>
|
||||||
</a> -->
|
</a> -->
|
||||||
<a target="_blank" href="https://github.com/TechitWinner/web" class="project-card">
|
<a target="_blank" href="https://github.com/TechitWinner/web" class="card">
|
||||||
<img src="https://files.thawia.ng/files/assets/web.png">
|
<img src="https://files.thawia.ng/files/assets/web.png">
|
||||||
<div class="project-card-content">
|
<div class="card-content">
|
||||||
<h3>Web</h3>
|
<h3>Web</h3>
|
||||||
<p title="Nothing much, just this website written in Nuxt (Vue) and some cool CSS.">Nothing much, just this website written in Nuxt (Vue) and some cool CSS.</p>
|
<p style="margin-block:0.25em;" title="Nothing much, just this website written in Nuxt (Vue) and some cool CSS.">Nothing much, just this website written in Nuxt (Vue) and some cool CSS.</p>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a target="_blank" href="https://github.com/TechitWinner/coinbag-pro" class="project-card">
|
<a target="_blank" href="https://github.com/TechitWinner/coinbag-pro" class="card">
|
||||||
<img src="https://opengraph.githubassets.com/79ca3021ce93e3d277062d399d623842564bc2f9407600e5b6102036f01e8277/TechitWinner/coinbag-pro">
|
<img src="https://opengraph.githubassets.com/79ca3021ce93e3d277062d399d623842564bc2f9407600e5b6102036f01e8277/TechitWinner/coinbag-pro">
|
||||||
<div class="project-card-content">
|
<div class="card-content">
|
||||||
<h3>Coinbag Pro</h3>
|
<h3>Coinbag Pro</h3>
|
||||||
<p title="A handwriting typeface, created by me but it is a dead project now.">A handwriting typeface, created by me but it is a dead project now.</p>
|
<p style="margin-block:0.25em;" title="A handwriting typeface, created by me but it is a dead project now.">A handwriting typeface, created by me but it is a dead project now.</p>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,18 +6,18 @@
|
|||||||
<p id="hero-desc" class="font-hero-desc">Take a portal to travel to various dimensions.</p>
|
<p id="hero-desc" class="font-hero-desc">Take a portal to travel to various dimensions.</p>
|
||||||
</section>
|
</section>
|
||||||
<section class="web-section" aria-labelledby="projects" aria-describedby="projects-paragraph-1">
|
<section class="web-section" aria-labelledby="projects" aria-describedby="projects-paragraph-1">
|
||||||
<ul class="font-card-container">
|
<ul class="card-container">
|
||||||
<li>
|
<li>
|
||||||
<a :class="'font-card'" :href="baseUrl + '/portal/f/'">
|
<a :class="'card'" :href="baseUrl + '/portal/f/'">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
<h3>Files</h3>
|
<h3>Files</h3>
|
||||||
<p>A portal that collects this website data, whether it's mine or not.</p>
|
<p>A portal that collects this website data, whether it's mine or not.</p>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a :class="'font-card'" :href="baseUrl + '/portal/s/'">
|
<a :class="'card'" :href="baseUrl + '/portal/s/'">
|
||||||
<div class="font-card-content">
|
<div class="card-content">
|
||||||
<h3>Share</h3>
|
<h3>Share</h3>
|
||||||
<p>A portal that were created by me to share media, It works like Google Drive public share.</p>
|
<p>A portal that were created by me to share media, It works like Google Drive public share.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@techitwinner/web",
|
"name": "@techitwinner/web",
|
||||||
"version": "16.1.0",
|
"version": "16.1.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user