Compare commits

..

2 Commits

Author SHA1 Message Date
ec61d5aa18 Add article definition to suppress the
'[ERROR] The build was canceled.' log.
2024-06-21 22:42:11 +08:00
b87816c5eb Add missing parts and remove unused parts. 2024-06-21 22:37:12 +08:00
5 changed files with 60 additions and 23 deletions

5
.gitignore vendored
View File

@ -23,5 +23,6 @@ pnpm-debug.log*
# jetbrains setting folder
.idea/
# test articles
src/content/
# ignore test articles except for article definitions
src/content/*
!src/content/config.ts

View File

@ -21,4 +21,4 @@ fi
mv ${ld_site_dist_target} "${ld_site_dist_target}-old"
mv dist ${ld_site_dist_target}
rm -rf "${ld_site_dist_target}-old" ${original_article_destination}
rm -rf "${ld_site_dist_target}-old"

View File

@ -1,3 +1,6 @@
---
---
<ul class="tool-list">
<li class="tool-item"><a href="/tool/unit_conversion">单位换算</a></li>
</ul>

View File

@ -1,5 +1,5 @@
<script setup lang="ts">
import { computed, h, ref } from 'vue'
import { computed, ref } from 'vue'
import BigNumber from "bignumber.js";
const unitToByte: { [name: string]: number } = {
@ -38,11 +38,11 @@ let variable: { [name: keyof typeof unitToByte]: string } = {
const size = ref(variable);
function sizeChanged(event: any, unitName: keyof typeof unitToByte) {
function sizeChanged(unitName: keyof typeof unitToByte):void {
let result: { [name in keyof typeof unitToByte]: string } = Object();
// assign 0 to current input if nothing is passed
if (size.value[unitName].length === 0) result[unitName] = '0';
let inputedBytes = new BigNumber(unitToByte[unitName]).multipliedBy(size.value[unitName]);
let inputedBytes: BigNumber = new BigNumber(unitToByte[unitName]).multipliedBy(size.value[unitName]);
for (const key in unitToByte) {
result[key] = inputedBytes.div(unitToByte[key]).toString();
}
@ -57,7 +57,7 @@ function sizeChanged(event: any, unitName: keyof typeof unitToByte) {
}
const isMultipleOf4KiB = computed(() => {
let userInput = new BigNumber(size.value["unit-ki-byte"])
let userInput: BigNumber = new BigNumber(size.value["unit-ki-byte"])
if (userInput.toNumber() === 0) return false;
return userInput.mod(4).toNumber() === 0 ? true : false;
})
@ -69,22 +69,22 @@ const isMultipleOf4KiB = computed(() => {
<p>1000 进制并以 Byte : </p>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-k-byte" type="text" v-model="size['unit-k-byte']"
@input="sizeChanged($event, 'unit-k-byte')">
@input="sizeChanged('unit-k-byte')">
<span class="unit-name">KB</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-m-byte" type="text" v-model="size['unit-m-byte']"
@input="sizeChanged($event, 'unit-m-byte')">
@input="sizeChanged('unit-m-byte')">
<span class="unit-name">MB</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-g-byte" type="text" v-model="size['unit-g-byte']"
@input="sizeChanged($event, 'unit-g-byte')">
@input="sizeChanged('unit-g-byte')">
<span class="unit-name">GB</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-t-byte" type="text" v-model="size['unit-t-byte']"
@input="sizeChanged($event, 'unit-t-byte')">
@input="sizeChanged('unit-t-byte')">
<span class="unit-name">TB</span>
</div>
</div>
@ -92,35 +92,33 @@ const isMultipleOf4KiB = computed(() => {
<p>1024 进制并以 Byte </p>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-ki-byte" type="text" v-model="size['unit-ki-byte']"
@input="sizeChanged($event, 'unit-ki-byte')">
@input="sizeChanged('unit-ki-byte')">
<span class="unit-name">KiB</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-mi-byte" type="text" v-model="size['unit-mi-byte']"
@input="sizeChanged($event, 'unit-mi-byte')">
@input="sizeChanged('unit-mi-byte')">
<span class="unit-name">MiB</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-gi-byte" type="text" v-model="size['unit-gi-byte']"
@input="sizeChanged($event, 'unit-gi-byte')">
@input="sizeChanged('unit-gi-byte')">
<span class="unit-name">GiB</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-ti-byte" type="text" v-model="size['unit-ti-byte']"
@input="sizeChanged($event, 'unit-ti-byte')">
@input="sizeChanged('unit-ti-byte')">
<span class="unit-name">TiB</span>
</div>
</div>
<div class="unit-conversion-computation-area byte-bit">
<p> Byte (B) / bit (b) :</p>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-byte" type="text" v-model="size['unit-byte']"
@input="sizeChanged($event, 'unit-byte')">
<input class="size-text" id="unit-byte" type="text" v-model="size['unit-byte']" @input="sizeChanged('unit-byte')">
<span class="unit-name">B</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-bit" type="text" v-model="size['unit-bit']"
@input="sizeChanged($event, 'unit-bit')">
<input class="size-text" id="unit-bit" type="text" v-model="size['unit-bit']" @input="sizeChanged('unit-bit')">
<span class="unit-name">b</span>
</div>
</div>
@ -128,22 +126,22 @@ const isMultipleOf4KiB = computed(() => {
<p>1000 进制并以 bit :</p>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-k-bit" type="text" v-model="size['unit-k-bit']"
@input="sizeChanged($event, 'unit-k-bit')">
@input="sizeChanged('unit-k-bit')">
<span class="unit-name">Kb</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-m-bit" type="text" v-model="size['unit-m-bit']"
@input="sizeChanged($event, 'unit-m-bit')">
@input="sizeChanged('unit-m-bit')">
<span class="unit-name">Mb</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-g-bit" type="text" v-model="size['unit-g-bit']"
@input="sizeChanged($event, 'unit-g-bit')">
@input="sizeChanged('unit-g-bit')">
<span class="unit-name">Gb</span>
</div>
<div class="unit-conversion-computation-node">
<input class="size-text" id="unit-t-bit" type="text" v-model="size['unit-t-bit']"
@input="sizeChanged($event, 'unit-t-bit')">
@input="sizeChanged('unit-t-bit')">
<span class="unit-name">Tb</span>
</div>
</div>

35
src/content/config.ts Normal file
View File

@ -0,0 +1,35 @@
import { z, defineCollection } from 'astro:content';
const blogCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
category: z.string(),
lastUpdate: z.string()
}),
});
const noteCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
category: z.string(),
lastUpdate: z.string()
}),
});
const translationCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
category: z.string(),
lastUpdate: z.string()
}),
});
export const collections = {
'blog': blogCollection,
'note': noteCollection,
'translation': translationCollection,
};