Compare commits
8 Commits
bee7386709
...
7180bc0de2
| Author | SHA1 | Date | |
|---|---|---|---|
| 7180bc0de2 | |||
| 0bc3fddf20 | |||
| 82ff09d96a | |||
| babfa1cf56 | |||
| 2cf92499dc | |||
| ccc16a90a5 | |||
| 116d448621 | |||
| 6f81162b31 |
+31
-11
@@ -11,6 +11,8 @@
|
|||||||
--ui-header-navbar-height: calc(var(--spacing)*10);
|
--ui-header-navbar-height: calc(var(--spacing)*10);
|
||||||
|
|
||||||
--ui-bg-container: oklch(0.9557 0.1104 102.71);
|
--ui-bg-container: oklch(0.9557 0.1104 102.71);
|
||||||
|
--ui-primary-container: oklch(0.97 0.005 102.71);
|
||||||
|
--ui-on-primary-container: oklch(0.364 0.007 82.5);
|
||||||
--ui-bg-container-bd: oklch(0.85 0.1104 102.71);
|
--ui-bg-container-bd: oklch(0.85 0.1104 102.71);
|
||||||
--ui-on-bg-container: oklch(0.4644 0.0554 82.5);
|
--ui-on-bg-container: oklch(0.4644 0.0554 82.5);
|
||||||
|
|
||||||
@@ -53,17 +55,32 @@ body {
|
|||||||
.navbar-nav {
|
.navbar-nav {
|
||||||
@apply md:float-left md:m-0;
|
@apply md:float-left md:m-0;
|
||||||
}
|
}
|
||||||
|
.navbar-nav-mobile {
|
||||||
|
@apply bg-(--ui-primary-light) border-t border-(--ui-primary);
|
||||||
|
}
|
||||||
.navbar-nav > li {
|
.navbar-nav > li {
|
||||||
float: left;
|
float: left;
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
.navbar-nav > li > a {
|
.navbar-nav-mobile > li {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.navbar-nav > li > a,
|
||||||
|
.navbar-nav-mobile > li > a {
|
||||||
padding: 10.5px 14px;
|
padding: 10.5px 14px;
|
||||||
}
|
}
|
||||||
.navbar-nav > li > a.router-link-active, .navbar-nav > li > a.router-link-active:hover {
|
.navbar-nav-mobile > li > a {
|
||||||
|
@apply text-(--ui-primary-container);
|
||||||
|
}
|
||||||
|
.navbar-nav > li > a.router-link-active,
|
||||||
|
.navbar-nav > li > a.router-link-active:hover,
|
||||||
|
.navbar-nav-mobile > li > a.router-link-active,
|
||||||
|
.navbar-nav-mobile > li > a.router-link-active:hover {
|
||||||
@apply bg-linear-[to_bottom,rgba(0,0,0,0.3)_10%,rgba(0,0,0,0)_100%];
|
@apply bg-linear-[to_bottom,rgba(0,0,0,0.3)_10%,rgba(0,0,0,0)_100%];
|
||||||
}
|
}
|
||||||
.navbar-nav > li > a:hover {
|
.navbar-nav > li > a:hover,
|
||||||
|
.navbar-nav-mobile > li > a:hover {
|
||||||
@apply bg-linear-[to_bottom,rgba(255,255,255,0)_0%,rgba(255,255,255,0.3)_10%,rgba(255,255,255,0)_100%];
|
@apply bg-linear-[to_bottom,rgba(255,255,255,0)_0%,rgba(255,255,255,0.3)_10%,rgba(255,255,255,0)_100%];
|
||||||
}
|
}
|
||||||
.site-title {
|
.site-title {
|
||||||
@@ -81,18 +98,21 @@ body {
|
|||||||
height: auto;
|
height: auto;
|
||||||
@apply bg-linear-[to_bottom,var(--ui-primary)_0%,var(--ui-primary-light)_90%] text-white;
|
@apply bg-linear-[to_bottom,var(--ui-primary)_0%,var(--ui-primary-light)_90%] text-white;
|
||||||
}
|
}
|
||||||
|
/* .site-navbar > .container {
|
||||||
|
@apply items-end;
|
||||||
|
} */
|
||||||
.hero-section {
|
.hero-section {
|
||||||
@apply py-16 drop-shadow-md bg-green-50 bg-cover bg-center;
|
@apply py-16 drop-shadow-md bg-(--ui-primary-container) text-(--ui-on-primary-container) bg-cover bg-center;
|
||||||
}
|
}
|
||||||
.hero-section > .container > .brace {
|
.hero-section > .container > .brace {
|
||||||
@apply my-4;
|
@apply my-4;
|
||||||
}
|
}
|
||||||
.hero-section > .container > .title {
|
.hero-section > .container > .title {
|
||||||
@apply text-4xl font-bold my-4;
|
@apply text-2xl md:text-3xl lg:text-4xl font-bold my-4;
|
||||||
line-height: 1.4em;
|
line-height: 1.4em;
|
||||||
}
|
}
|
||||||
.hero-section > .container > .subtitle {
|
.hero-section > .container > .subtitle {
|
||||||
@apply text-xl my-4;
|
@apply text-lg md:text-xl my-4;
|
||||||
line-height: 1.4em;
|
line-height: 1.4em;
|
||||||
}
|
}
|
||||||
.page-section {
|
.page-section {
|
||||||
@@ -105,18 +125,18 @@ body {
|
|||||||
@apply my-[0.75rem];
|
@apply my-[0.75rem];
|
||||||
}
|
}
|
||||||
.page-section.page-section-alt {
|
.page-section.page-section-alt {
|
||||||
@apply my-0;
|
@apply my-16 md:my-0;
|
||||||
}
|
}
|
||||||
.page-section.page-section-alt > .container {
|
.page-section.page-section-alt > .container {
|
||||||
@apply my-0 flex justify-between items-center;
|
@apply my-0 flex flex-col md:flex-row justify-between items-center;
|
||||||
}
|
}
|
||||||
.page-section.page-section-alt > .container > .section {
|
.page-section.page-section-alt > .container > .section {
|
||||||
@apply mb-4;
|
@apply md:mb-4;
|
||||||
}
|
}
|
||||||
.page-section.page-section-alt > .container > .section-img {
|
.page-section.page-section-alt > .container > .section-img {
|
||||||
@apply w-[45%];
|
@apply w-full md:w-[45%];
|
||||||
img {
|
img {
|
||||||
@apply my-16;
|
@apply md:my-16;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.footer {
|
.footer {
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ const toggleLocale = () => {
|
|||||||
/>
|
/>
|
||||||
</UTooltip>
|
</UTooltip>
|
||||||
<template #fallback>
|
<template #fallback>
|
||||||
<USkeleton class="size-8" />
|
<USkeleton class="size-7" />
|
||||||
</template>
|
</template>
|
||||||
</ClientOnly>
|
</ClientOnly>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -4,10 +4,12 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<section class="row">
|
<section class="row">
|
||||||
<section class="footer-notice">
|
<section class="footer-notice">
|
||||||
<img width="48" height="48" src="/favicon.ico" alt="*nix" class="text-2xl"></img>
|
<img width="48" height="48" src="/logo.svg" alt="*nix" class="text-2xl"></img>
|
||||||
<h2 class="text-2xl font-bold my-[0.5em]">*nix in Thailand (นิกซ์ในประเทศไทย)</h2>
|
<h2 class="text-2xl font-bold my-[0.5em]">*nix in Thailand (นิกซ์ในประเทศไทย)</h2>
|
||||||
<p class="my-[0.5em]">{{t('footer.copyright.notice', {'year': year, 'yearB': year + 543})}}</p>
|
<p class="my-[0.5em]">นิรสิทธิ์ 🄯 *nix in Thailand, {{ year }} ({{ year + 543 }}), ไม่สงวนสิทธิ์ทุกประการ</p>
|
||||||
<LanguageSwitcher/>
|
<div class="flex gap-1">
|
||||||
|
<UButton variant="outline" color="neutral" size="sm" to="https://gitskette.dailitation.xyz/DandelionNStuff/NixWeb-homepage" label="ซอร์สโค้ด"/>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
@@ -16,6 +18,5 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const {t} = useI18n();
|
|
||||||
const year = 2025
|
const year = 2025
|
||||||
</script>
|
</script>
|
||||||
@@ -4,14 +4,14 @@
|
|||||||
<div class="container flex justify-between">
|
<div class="container flex justify-between">
|
||||||
<div class="row w-fit items-center">
|
<div class="row w-fit items-center">
|
||||||
<div class="row flex">
|
<div class="row flex">
|
||||||
<img width="48" height="48" src="/favicon.ico" alt="*nix" class="text-2xl mr-4"></img>
|
<img width="48" height="48" src="/logo.svg" alt="*nix" class="text-2xl mr-4"></img>
|
||||||
<img width="124" height="20" src="/wordmark.svg" alt="in Thailand" class="text-2xl my-[13px]"></img>
|
<img width="124" height="20" src="/wordmark.svg" alt="in Thailand" class="text-2xl my-[13px]"></img>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="hidden sm:flex w-fit items-center justify-end">
|
<div class="hidden sm:flex w-fit items-center justify-end">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<UFieldGroup>
|
<UFieldGroup>
|
||||||
<UButton size="sm" :label="t('sites.join-discord')" to="https://discord.gg/p5wuX5GwB7" icon="i-lucide-users" />
|
<UButton size="sm" label="เข้าร่วม Discord" to="https://discord.gg/p5wuX5GwB7" icon="i-lucide-users" />
|
||||||
<UDropdownMenu
|
<UDropdownMenu
|
||||||
size="sm"
|
size="sm"
|
||||||
:items="siteTitleItems"
|
:items="siteTitleItems"
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
content: 'w-36'
|
content: 'w-36'
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<UButton size="sm" :label="t('sites.all')" icon="i-lucide-map" color="neutral" variant="outline" />
|
<UButton size="sm" label="บริการของ unix.in.th" icon="i-lucide-map" color="neutral" variant="outline" />
|
||||||
</UDropdownMenu>
|
</UDropdownMenu>
|
||||||
</UFieldGroup>
|
</UFieldGroup>
|
||||||
</div>
|
</div>
|
||||||
@@ -33,46 +33,72 @@
|
|||||||
</div>
|
</div>
|
||||||
<nav class="site-navbar">
|
<nav class="site-navbar">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="hidden sm:flex">
|
<div class="hidden sm:flex w-full">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li class="nav-link">
|
<li class="nav-link" @click="toggleMobileNavbar">
|
||||||
<NuxtLinkLocale href="/">{{ t('nav.home') }}</NuxtLinkLocale>
|
<NuxtLink href="/">หน้าหลัก</NuxtLink>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-link">
|
<li class="nav-link">
|
||||||
<NuxtLinkLocale href="/about">{{ t('nav.about') }}</NuxtLinkLocale>
|
<NuxtLink href="/about">เกี่ยวกับ</NuxtLink>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-link">
|
<li class="nav-link">
|
||||||
<NuxtLinkLocale href="/contact">{{ t('nav.contact') }}</NuxtLinkLocale>
|
<NuxtLink href="/contact">ติดต่อ</NuxtLink>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="flex sm:hidden w-fit float-right">
|
||||||
|
<UButton @click="toggleMobileNavbar" size="sm" variant="subtle" color="neutral" icon="i-lucide-menu"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<nav v-if="mobileNavbar">
|
||||||
|
<div class="flex flex-col">
|
||||||
|
<ul class="nav navbar-nav-mobile">
|
||||||
|
<li class="nav-link">
|
||||||
|
<NuxtLink href="/">หน้าหลัก</NuxtLink>
|
||||||
|
</li>
|
||||||
|
<li class="nav-link">
|
||||||
|
<NuxtLink href="/about">เกี่ยวกับ</NuxtLink>
|
||||||
|
</li>
|
||||||
|
<li class="nav-link">
|
||||||
|
<NuxtLink href="/contact">ติดต่อ</NuxtLink>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
const { t } = useI18n();
|
|
||||||
const siteTitleItems = ref<DropdownMenuItem[]>([
|
const siteTitleItems = ref<DropdownMenuItem[]>([
|
||||||
{
|
{
|
||||||
label: t('sites.wiki'),
|
label: 'วิกิ',
|
||||||
icon: 'i-lucide-book-open-text',
|
icon: 'i-lucide-book-open-text',
|
||||||
to: 'https://wiki.unix.in.th'
|
to: 'https://wiki.unix.in.th'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t('sites.identity'),
|
label: 'ระบบบัญชี',
|
||||||
icon: 'i-lucide-user',
|
icon: 'i-lucide-user',
|
||||||
to: 'https://identity.unix.in.th'
|
to: 'https://identity.unix.in.th'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t('sites.forum'),
|
label: 'ลานประชาคม',
|
||||||
icon: 'i-lucide-messages-square',
|
icon: 'i-lucide-messages-square',
|
||||||
to: 'https://forum.unix.in.th'
|
to: 'https://forum.unix.in.th'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t('sites.status'),
|
label: 'สถานะ',
|
||||||
icon: 'i-lucide-activity',
|
icon: 'i-lucide-activity',
|
||||||
to: 'https://status.unix.in.th'
|
to: 'https://status.unix.in.th'
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
|
const mobileNavbar = ref(false);
|
||||||
|
function toggleMobileNavbar() {
|
||||||
|
mobileNavbar.value = !mobileNavbar.value
|
||||||
|
}
|
||||||
|
const route = useRoute()
|
||||||
|
watch(() => route.fullPath, () => {
|
||||||
|
mobileNavbar.value = false
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
+18
-9
@@ -3,27 +3,36 @@
|
|||||||
<article class="article">
|
<article class="article">
|
||||||
<section class="hero-section">
|
<section class="hero-section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 :id="t('about.hero.title').replace(/ /g, '_')" class="title">{{ t('about.hero.title') }}</h1>
|
<h1 id="about" class="title">เกี่ยวกับเรา</h1>
|
||||||
<!-- <p :id="t('about.hero.sub').replace(/ /g, '_')" class="subtitle">{{ t('about.hero.sub') }}</p> -->
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="container">
|
<section class="page-section">
|
||||||
|
<div class="container">
|
||||||
|
<p>
|
||||||
|
*nix in Thailand (unix.in.th) เป็นเว็บไซต์แม่ข่ายสำหรับทรัพยากรสาระข้อมูล คู่มือ เอกสาร ของฮาร์ดแวร์และซอฟต์แวร์คอมพิวเตอร์ที่ทุกคนสามารถใช้ แก้ไข และเผยแพร่ต่อได้อย่างเสรี
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
เว็บไซต์นี้มีบริการวิกิ (Wiki) ที่เป็นเอกสาร ข้อมูล และวิธีทำสำหรับซอฟต์แวร์และฮาร์ดแวร์ ที่ทุกคนเข้าถึงได้ โดยที่หัวข้อเน้นระบบ UNIX และ Unix-like เป็นหลัก แต่ก็สามารถกล่าวถึงระบบอื่น ๆ ได้เช่นกันเป็นเบ็ดเตล็ด
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
นอกจากนี้ยังมีลานประชาคม (Forum) สำหรับผู้ใช้ที่อาจซักถามอภิปราย หรือคุยเล่น เกี่ยวกับซอฟต์แวร์ และฮาร์ดแวร์ ระบบ UNIX, Unix-like และอื่น ๆ
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
และระบบบัญชีส่วนกลาง (Identity provider) เป็นระบบเสาหลักในการลงชื่อใช้งานระบบทั้งหมดของ *nix in Thailand ทำงานโดยใช้ OpenID Connect (OAuth2)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
const {t} = useI18n();
|
|
||||||
const config = useRuntimeConfig();
|
const config = useRuntimeConfig();
|
||||||
const baseUrl = config.public.baseUrl
|
|
||||||
|
|
||||||
useHead({
|
useHead({
|
||||||
title: '*nix in Thailand',
|
title: 'เกี่ยวกับ',
|
||||||
titleTemplate: '%s',
|
|
||||||
meta: [
|
meta: [
|
||||||
{ property: 'og:type', content: 'website' }
|
{ property: 'og:type', content: 'article' }
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
+10
-8
@@ -3,12 +3,15 @@
|
|||||||
<article class="article">
|
<article class="article">
|
||||||
<section class="hero-section">
|
<section class="hero-section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<img></img>
|
<h1 class="title">ติดต่อเรา</h1>
|
||||||
<h2 class="text-3xl ">contact page</h2>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="container">
|
<section class="page-section">
|
||||||
|
<div class="container">
|
||||||
|
<p>
|
||||||
|
มีวิธีเดียวที่จะติดต่อเราได้คือไปรษณีย์อิเล็กทรอนิกส์ postmaster[at]unix.in.th
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
@@ -16,13 +19,12 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
const config = useRuntimeConfig();
|
const config = useRuntimeConfig();
|
||||||
const baseUrl = config.public.baseUrl
|
|
||||||
|
|
||||||
useHead({
|
useHead({
|
||||||
title: '*nix in Thailand',
|
title: 'ติดต่อ',
|
||||||
titleTemplate: '%s',
|
|
||||||
meta: [
|
meta: [
|
||||||
{ property: 'og:type', content: 'website' }
|
{ name: 'description', content: 'ติดต่อเรา' },
|
||||||
|
{ property: 'og:type', content: 'article' }
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
+17
-17
@@ -4,35 +4,35 @@
|
|||||||
<section class="hero-section">
|
<section class="hero-section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<img class="brace" width="100" src="/brace-smile.svg"></img>
|
<img class="brace" width="100" src="/brace-smile.svg"></img>
|
||||||
<h1 :id="t('home.hero.title').replace(/ /g, '_')" class="title">{{ t('home.hero.title') }}</h1>
|
<h1 id="home-hero-title" class="title">สวัสดี<br/>ยินดีต้อนรับสู่ *nix in Thailand สาระคอมพิวเตอร์ที่ทุกคนสามารถเข้าถึงได้</h1>
|
||||||
<p :id="t('home.hero.sub').replace(/ /g, '_')" class="subtitle">{{ t('home.hero.sub') }}</p>
|
<p id="home-hero-sub" class="subtitle">พื้นที่สำหรับการซักถาม คุยเล่น และเอกสารสาระคอมพิวเตอร์ต่าง ๆ โดยที่เน้นระบบ UNIX และ Unix-like ไม่ว่าจะเป็น GNU, Linux, macOS, Android, ฯลฯ</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- <section class="page-section page-section-alt">
|
<section class="page-section page-section-alt">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<section class="section">
|
|
||||||
<h2 class="title">{{ t('home.wiki.title') }}</h2>
|
|
||||||
<p>{{ t('home.wiki.paragraph') }}</p>
|
|
||||||
<UButton to="https://wiki.unix.in.th" :label="t('home.wiki.go')"/>
|
|
||||||
</section>
|
|
||||||
<section class="section-img">
|
<section class="section-img">
|
||||||
<img class="aspect-[4/3]" src="/wiki-mac.png"></img>
|
<img class="aspect-[4/3]" src="/wiki-mac.png"></img>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="section">
|
||||||
|
<h2 id="wiki" class="title">สารคอมพิวเตอร์เสรี (วิกิ)</h2>
|
||||||
|
<p id="wiki-desc">ศูนย์รวมความรู้ซอฟต์แวร์และฮาร์ดแวร์คอมพิวเตอร์ ที่ทุกคนสามารถสามารถแก้ไขได้</p>
|
||||||
|
<UButton to="https://wiki.unix.in.th" label="ไปที่วิกิ"/>
|
||||||
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="page-section page-section-alt">
|
<section class="page-section page-section-alt">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<section class="section">
|
|
||||||
<h2 class="title">{{ t('home.forum.title') }}</h2>
|
|
||||||
<p>{{ t('home.forum.paragraph') }}</p>
|
|
||||||
<UButton to="https://forum.unix.in.th" :label="t('home.forum.go')"/>
|
|
||||||
</section>
|
|
||||||
<section class="section-img">
|
<section class="section-img">
|
||||||
<img class="aspect-[4/3]" src="/wiki-mac.png"></img>
|
<img class="aspect-[4/3]" src="/forum-mac.png"></img>
|
||||||
|
</section>
|
||||||
|
<section class="section">
|
||||||
|
<h2 class="title">ลานประชาคม</h2>
|
||||||
|
<p>พื้นที่สอบถาม อภิปราย และคุยเล่น เกี่ยวกับซอฟต์แวร์และฮาร์ดแวร์ UNIX และ Unix-like</p>
|
||||||
|
<UButton to="https://forum.unix.in.th" disabled variant="subtle" label="ไปที่ลานประชาคม"/>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</section> -->
|
</section>
|
||||||
<section class="page-section" :aria-labelledby="t('home.wiki.title').replace(/ /g, '_')" :aria-describedby="t('home.wiki.paragraph').replace(/ /g, '_')">
|
<!-- <section class="page-section" :aria-labelledby="t('home.wiki.title').replace(/ /g, '_')" :aria-describedby="t('home.wiki.paragraph').replace(/ /g, '_')">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<section class="section">
|
<section class="section">
|
||||||
<h2 :id="t('home.wiki.title').replace(/ /g, '_')" class="title">{{ t('home.wiki.title') }}</h2>
|
<h2 :id="t('home.wiki.title').replace(/ /g, '_')" class="title">{{ t('home.wiki.title') }}</h2>
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
<UButton to="https://forum.unix.in.th" :label="t('home.forum.go')"/>
|
<UButton to="https://forum.unix.in.th" :label="t('home.forum.go')"/>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section> -->
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
+15
-2
@@ -20,7 +20,7 @@
|
|||||||
},
|
},
|
||||||
"home": {
|
"home": {
|
||||||
"hero": {
|
"hero": {
|
||||||
"title": "Hi! Welcome to *nix in Thailand, free computer knowledge for everyone.",
|
"title": "Hi\\nWelcome to *nix in Thailand, free computer knowledge for everyone.",
|
||||||
"sub": "A place for everything Unix and Unix-like system including its software. And provide a free documentation and universal access to other free software."
|
"sub": "A place for everything Unix and Unix-like system including its software. And provide a free documentation and universal access to other free software."
|
||||||
},
|
},
|
||||||
"wiki": {
|
"wiki": {
|
||||||
@@ -37,11 +37,24 @@
|
|||||||
"footer": {
|
"footer": {
|
||||||
"copyright": {
|
"copyright": {
|
||||||
"notice": "Copyleft 🄯 *nix in Thailand, {year} ({yearB}). All rights reversed."
|
"notice": "Copyleft 🄯 *nix in Thailand, {year} ({yearB}). All rights reversed."
|
||||||
}
|
},
|
||||||
|
"sourcecode": "Source Code"
|
||||||
},
|
},
|
||||||
"about": {
|
"about": {
|
||||||
"hero": {
|
"hero": {
|
||||||
"title": "About us"
|
"title": "About us"
|
||||||
|
},
|
||||||
|
"paragraph": {
|
||||||
|
"1": "*nix in Thailand (unix.in.th) is a place for resources, guides, and documentation on computer hardware and software, freely accessible, editable, and shareable by everyone.",
|
||||||
|
"2": "We provide a Wiki service which containing, documentation, information, tutorials on both software and hardware. While primarily focuses on UNIX and Unix-like, it also includes miscelleneous content.",
|
||||||
|
"3": "In addition, we feature a forum where users can ask questions, engage in discussions, or casually chat about software and hardware related to UNIX, Unix-like systems, and beyond.",
|
||||||
|
"4": "And the centralized account system serves as the core authentication service for all *nix in Thailand services, which is operating using OpenID Connect (OAuth2)."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"contact": {
|
||||||
|
"title": "Contact us",
|
||||||
|
"paragraph": {
|
||||||
|
"1": "The only way to contact us is via {email}."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+15
-2
@@ -20,7 +20,7 @@
|
|||||||
},
|
},
|
||||||
"home": {
|
"home": {
|
||||||
"hero": {
|
"hero": {
|
||||||
"title": "สวัสดี! ยินดีต้อนรับสู่ *nix in Thailand สาระคอมพิวเตอร์ที่ทุกคนสามารถเข้าถึงได้",
|
"title": "สวัสดี\\nยินดีต้อนรับสู่ *nix in Thailand สาระคอมพิวเตอร์ที่ทุกคนสามารถเข้าถึงได้",
|
||||||
"sub": "พื้นที่สำหรับการซักถาม คุยเล่น และเอกสารสาระคอมพิวเตอร์ต่าง ๆ โดยที่เน้นระบบ UNIX และ Unix-like ไม่ว่าจะเป็น GNU, Linux, macOS, Android, ฯลฯ"
|
"sub": "พื้นที่สำหรับการซักถาม คุยเล่น และเอกสารสาระคอมพิวเตอร์ต่าง ๆ โดยที่เน้นระบบ UNIX และ Unix-like ไม่ว่าจะเป็น GNU, Linux, macOS, Android, ฯลฯ"
|
||||||
},
|
},
|
||||||
"wiki": {
|
"wiki": {
|
||||||
@@ -37,11 +37,24 @@
|
|||||||
"footer": {
|
"footer": {
|
||||||
"copyright": {
|
"copyright": {
|
||||||
"notice": "นิรสิทธิ์ 🄯 *nix in Thailand, {year} ({yearB}), ไม่สงวนสิทธิ์ทุกประการ"
|
"notice": "นิรสิทธิ์ 🄯 *nix in Thailand, {year} ({yearB}), ไม่สงวนสิทธิ์ทุกประการ"
|
||||||
}
|
},
|
||||||
|
"sourcecode": "ซอร์สโค้ด"
|
||||||
},
|
},
|
||||||
"about": {
|
"about": {
|
||||||
"hero": {
|
"hero": {
|
||||||
"title": "เกี่ยวกับเรา"
|
"title": "เกี่ยวกับเรา"
|
||||||
|
},
|
||||||
|
"paragraph": {
|
||||||
|
"1": "*nix in Thailand (unix.in.th) เป็นเว็บไซต์แม่ข่ายสำหรับทรัพยากรสาระข้อมูล คู่มือ เอกสาร ของฮาร์ดแวร์และซอฟต์แวร์คอมพิวเตอร์ที่ทุกคนสามารถใช้ แก้ไข และเผยแพร่ต่อได้อย่างเสรี",
|
||||||
|
"2": "เว็บไซต์นี้มีบริการวิกิ (Wiki) ที่เป็นเอกสาร ข้อมูล และวิธีทำสำหรับซอฟต์แวร์และฮาร์ดแวร์ ที่ทุกคนเข้าถึงได้ โดยที่หัวข้อเน้นระบบ UNIX และ Unix-like เป็นหลัก แต่ก็สามารถกล่าวถึงระบบอื่น ๆ ได้เช่นกันเป็นเบ็ดเตล็ด",
|
||||||
|
"3": "นอกจากนี้ยังมีลานประชาคม (Forum) สำหรับผู้ใช้ที่อาจซักถามอภิปราย หรือคุยเล่น เกี่ยวกับซอฟต์แวร์ และฮาร์ดแวร์ ระบบ UNIX, Unix-like และอื่น ๆ",
|
||||||
|
"4": "และระบบบัญชีส่วนกลาง (Identity provider) เป็นระบบเสาหลักในการลงชื่อใช้งานระบบทั้งหมดของ *nix in Thailand ทำงานโดยใช้ OpenID Connect (OAuth2)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"contact": {
|
||||||
|
"title": "ติดต่อเรา",
|
||||||
|
"paragraph": {
|
||||||
|
"1": "มีวิธีเดียวที่จะติดต่อเราได้คือไปรษณีย์อิเล็กทรอนิกส์ {email}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+26
-26
@@ -66,30 +66,30 @@ export default defineNuxtConfig({
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
i18n: {
|
// i18n: {
|
||||||
baseUrl: process.env.NUXT_PUBLIC_BASE_URL,
|
// baseUrl: process.env.NUXT_PUBLIC_BASE_URL,
|
||||||
strategy: 'prefix_and_default',
|
// strategy: 'prefix',
|
||||||
defaultLocale: 'th',
|
// defaultLocale: 'th',
|
||||||
locales: [
|
// locales: [
|
||||||
{
|
// {
|
||||||
code: 'th',
|
// code: 'th',
|
||||||
language: 'th-TH',
|
// language: 'th-TH',
|
||||||
name: 'ภาษาไทย',
|
// name: 'ภาษาไทย',
|
||||||
file: 'th.json',
|
// file: 'th.json',
|
||||||
isCatchallLocale: true,
|
// isCatchallLocale: true,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
code: 'en',
|
// code: 'en',
|
||||||
language: 'en-US',
|
// language: 'en-US',
|
||||||
name: 'English',
|
// name: 'English',
|
||||||
file: 'en.json',
|
// file: 'en.json',
|
||||||
}
|
// }
|
||||||
],
|
// ],
|
||||||
detectBrowserLanguage: {
|
// detectBrowserLanguage: {
|
||||||
useCookie: true,
|
// useCookie: true,
|
||||||
cookieKey: 'i18n_language',
|
// cookieKey: 'i18n_language',
|
||||||
fallbackLocale: 'th',
|
// fallbackLocale: 'th',
|
||||||
},
|
// },
|
||||||
vueI18n: 'i18n.config.ts',
|
// vueI18n: 'i18n.config.ts',
|
||||||
}
|
// }
|
||||||
})
|
})
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 189 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg width="50" height="50" viewBox="0 0 50 50" version="1.1" id="svg1" inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)" sodipodi:docname="nixsvg50x.svg" inkscape:export-filename="nix270x.png" inkscape:export-xdpi="50.625" inkscape:export-ydpi="50.625" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview id="namedview1" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="px" inkscape:zoom="10.24" inkscape:cx="23.828125" inkscape:cy="21.679688" inkscape:window-width="1920" inkscape:window-height="1115" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="g5" inkscape:export-bgcolor="#f2f2f200" showgrid="false"/>
|
||||||
|
<defs id="defs1">
|
||||||
|
<linearGradient id="linearGradient1" inkscape:collect="always">
|
||||||
|
<stop style="stop-color:#757575;stop-opacity:1;" offset="0" id="stop1"/>
|
||||||
|
<stop style="stop-color:#1a1a1a;stop-opacity:1;" offset="1" id="stop2"/>
|
||||||
|
</linearGradient>
|
||||||
|
<rect x="26.063349" y="272.79639" width="470.87784" height="225.30318" id="rect21"/>
|
||||||
|
<linearGradient id="linearGradient75" inkscape:collect="always">
|
||||||
|
<stop style="stop-color:#f6df00;stop-opacity:1;" offset="0" id="stop74"/>
|
||||||
|
<stop style="stop-color:#8a5536;stop-opacity:1;" offset="1" id="stop75"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient75" id="linearGradient60" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-2.6879057,4.1301109,0,-215.3172,687.00349)" x1="164.26385" y1="101.51424" x2="164.26385" y2="171.50876"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient1" id="linearGradient5" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.81024636,0,0,0.81024636,10.598278,74.161838)" x1="256" y1="180.78256" x2="256" y2="382.74677"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient75" id="linearGradient27" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.6879057,0,0,-4.1301109,713.64739,732.91661)" x1="164.26385" y1="101.51424" x2="164.26385" y2="171.50876"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient75" id="linearGradient28" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1.9006363,1.9006363,-2.9204294,-2.9204294,928.99882,277.94323)" x1="164.26385" y1="101.51424" x2="164.26385" y2="171.50876"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient75" id="linearGradient29" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1.9006363,-1.9006363,2.9204294,-2.9204294,239.65617,902.35491)" x1="164.26385" y1="101.51424" x2="164.26385" y2="171.50876"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient75" id="linearGradient30" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,2.6879057,-4.1301109,0,759.56051,-196.04798)" x1="164.26385" y1="101.51424" x2="164.26385" y2="171.50876"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient1" id="linearGradient3" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.81024636,0,0,0.81024636,8.2464142,74.161838)" x1="256" y1="180.78256" x2="256" y2="382.74677"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient1" id="linearGradient4" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.84155607,0,0,0.81024636,-8.3279133,74.161838)" x1="256" y1="180.78256" x2="256" y2="382.74677"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient1" id="linearGradient6" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.78489115,0,0,0.81024636,17.578967,74.161838)" x1="256" y1="180.78256" x2="256" y2="382.74677"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient1" id="linearGradient7" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.81024636,0,0,0.81024636,11.576133,74.161838)" x1="256" y1="180.78256" x2="256" y2="382.74677"/>
|
||||||
|
</defs>
|
||||||
|
<g inkscape:groupmode="layer" id="g5" inkscape:label="Layer 3" transform="translate(-8.108597,-19.692307)" style="display:inline">
|
||||||
|
<g id="g30" transform="matrix(0.12362252,0,0,0.12362252,-0.6102862,10.8625)">
|
||||||
|
<g id="g6" transform="matrix(1.1381909,0,0,1.1381909,-36.969598,-5.746476)" style="display:inline">
|
||||||
|
<path id="path27" style="font-variation-settings:normal;fill:#ffed61;fill-opacity:1;stroke:url(#linearGradient27);stroke-width:11.6223;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;stop-color:#000000" d="m 244.03245,73.613505 h 56.17841 c 0,0 -14.54267,124.731485 -28.08922,124.731485 -13.54652,0 -28.08919,-124.731485 -28.08919,-124.731485 z" sodipodi:nodetypes="cccc" inkscape:transform-center-y="-124.6302"/>
|
||||||
|
<path id="path28" style="font-variation-settings:normal;fill:#ffed61;fill-opacity:1;stroke:url(#linearGradient28);stroke-width:11.6223;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;stop-color:#000000" d="m 130.73321,143.81344 39.72414,-39.72413 c 0,0 77.91526,98.4817 68.3364,108.06056 -9.57884,9.57883 -108.06054,-68.33643 -108.06054,-68.33643 z" sodipodi:nodetypes="cccc" inkscape:transform-center-y="-98.965881" inkscape:transform-center-x="98.965894"/>
|
||||||
|
<path id="path29" style="font-variation-settings:normal;fill:#ffed61;fill-opacity:1;stroke:url(#linearGradient29);stroke-width:11.6223;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;stop-color:#000000" d="m 373.78596,104.08931 39.72414,39.72413 c 0,0 -98.4817,77.91526 -108.06056,68.33641 -9.57884,-9.57884 68.33642,-108.06054 68.33642,-108.06054 z" sodipodi:nodetypes="cccc" inkscape:transform-center-y="-98.965891" inkscape:transform-center-x="-98.965885"/>
|
||||||
|
<path id="path30" style="font-variation-settings:normal;fill:#ffed61;fill-opacity:1;stroke:url(#linearGradient30);stroke-width:11.6223;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;stop-color:#000000" d="m 100.25741,273.56696 v -56.17841 c 0,0 124.73148,14.54267 124.73148,28.08922 0,13.54652 -124.73148,28.08919 -124.73148,28.08919 z" sodipodi:nodetypes="cccc" inkscape:transform-center-y="4.8000817e-06" inkscape:transform-center-x="124.6302"/>
|
||||||
|
<path id="path60" style="font-variation-settings:normal;fill:#ffed61;fill-opacity:1;stroke:url(#linearGradient60);stroke-width:11.6223;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;stop-color:#000000" d="m 443.9859,217.38855 v 56.17841 c 0,0 -124.73148,-14.54267 -124.73148,-28.08922 0,-13.54652 124.73148,-28.08919 124.73148,-28.08919 z" sodipodi:nodetypes="cccc" inkscape:transform-center-y="4.8000817e-06" inkscape:transform-center-x="-124.6302"/>
|
||||||
|
</g>
|
||||||
|
<g id="text5" style="font-size:281.997px;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, ';fill:url(#linearGradient5);stroke-width:1.05748;stroke-linecap:square;stroke-miterlimit:10;paint-order:markers fill stroke" aria-label="nix">
|
||||||
|
<path style="font-family:'IBM Plex Serif';-inkscape-font-specification:'IBM Plex Serif';letter-spacing:-15.1039px;fill:url(#linearGradient6);stroke-width:1.0408" d="M 82.334631,456.35736 H 102.5494 V 342.14857 l -20.214769,-3.66596 v -9.5879 l 42.068549,-8.45991 v 25.37973 h 1.0927 c 1.09268,-2.81997 2.73171,-5.73393 4.9171,-8.7419 2.3675,-3.00797 5.19028,-5.73395 8.46833,-8.17792 3.4602,-2.44397 7.46674,-4.41795 12.0196,-5.92193 4.55286,-1.69199 9.56103,-2.53798 15.02449,-2.53798 16.93668,0 29.04733,4.60595 36.33193,13.81786 7.46671,9.0239 11.20007,22.65375 11.20007,40.88956 v 81.21514 h 20.21476 v 12.97186 H 170.8425 v -12.97186 h 20.21475 V 377.1162 c 0,-27.07171 -11.01795,-40.60757 -33.05387,-40.60757 -4.00651,0 -8.01306,0.56399 -12.01956,1.69198 -3.82443,1.12799 -7.37565,2.91398 -10.65375,5.35795 -3.09595,2.44397 -5.64556,5.45194 -7.6488,9.0239 -1.82116,3.57196 -2.73174,7.80192 -2.73174,12.68987 v 91.08503 h 20.21477 v 12.97186 H 82.334631 Z" id="path1" sodipodi:nodetypes="cccccccccccscsccccccsscccsccccc"/>
|
||||||
|
<path style="font-family:'IBM Plex Serif';-inkscape-font-specification:'IBM Plex Serif';fill:url(#linearGradient4);stroke-width:1.07773" d="m 320.37218,456.35736 h 16.69495 l 44.22699,-58.09138 -44.81277,-61.47535 h -15.23049 v -12.97186 h 61.50774 v 12.97186 h -17.28075 l 32.80412,46.24751 h 1.17157 l 31.04676,-46.24751 h -18.15942 v -12.97186 h 53.01383 v 12.97186 h -16.69498 l -41.88383,57.24539 44.81277,62.32134 h 15.23049 v 12.97186 h -61.8006 v -12.97186 h 17.28073 l -32.51123,-47.0935 h -1.17159 l -33.38992,47.0935 h 18.15942 v 12.97186 h -53.01379 z" id="path2" sodipodi:nodetypes="ccccccccccccccccccccccccccccccc"/>
|
||||||
|
<path d="m 272.61579,290.26112 c -4.88795,0 -8.64791,-1.40998 -11.27988,-4.22995 -2.44397,-3.00797 -3.66596,-6.57993 -3.66596,-10.71589 v -1.40998 c 0,-4.13596 1.22199,-7.61392 3.66596,-10.43389 2.63197,-3.00797 6.39193,-4.51196 11.27988,-4.51196 4.88795,0 8.64791,1.50399 11.27988,4.51196 2.63197,2.81997 3.94796,6.29793 3.94796,10.43389 v 1.40998 c 0,4.13596 -1.31599,7.70792 -3.94796,10.71589 -2.63197,2.81997 -6.39193,4.22995 -11.27988,4.22995 z" style="font-family:'IBM Plex Serif';-inkscape-font-specification:'IBM Plex Serif';fill:url(#linearGradient3)" id="path1-5" sodipodi:nodetypes="scsscscsscs"/>
|
||||||
|
<path d="m 243.51586,456.35736 h 20.86778 V 342.14857 l -20.86778,-3.66596 v -9.5879 l 43.99153,-8.45991 v 135.92256 h 20.86778 v 12.97186 h -64.85931 z" style="font-family:'IBM Plex Serif';-inkscape-font-specification:'IBM Plex Serif';fill:url(#linearGradient7)" id="path1-2"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 306 KiB After Width: | Height: | Size: 258 KiB |
Reference in New Issue
Block a user