commit
5ad7171ab7
154 files changed
+21082
-16117
No files matched your search
@@ -1,2 +0,0 @@
|
||||
> 1%
|
||||
last 2 versions
|
||||
@@ -0,0 +1,9 @@
|
||||
!**/.eslintrc*
|
||||
node_modules
|
||||
dist
|
||||
*.svg
|
||||
*.ico
|
||||
*.json
|
||||
*.md
|
||||
*.log
|
||||
*.lock
|
||||
@@ -0,0 +1,42 @@
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es6: true,
|
||||
node: true,
|
||||
},
|
||||
extends: [
|
||||
'standard',
|
||||
'plugin:vue/essential',
|
||||
'@vue/standard',
|
||||
'@vue/typescript',
|
||||
],
|
||||
globals: {
|
||||
Atomics: 'readonly',
|
||||
SharedArrayBuffer: 'readonly',
|
||||
},
|
||||
parser: 'vue-eslint-parser',
|
||||
parserOptions: {
|
||||
ecmaVersion: 2018,
|
||||
sourceType: 'module',
|
||||
parser: '@typescript-eslint/parser',
|
||||
},
|
||||
plugins: [
|
||||
'@typescript-eslint',
|
||||
],
|
||||
rules: {
|
||||
'no-unused-vars': 0,
|
||||
'no-useless-constructor': 0,
|
||||
'no-cond-assign': 0,
|
||||
'no-undef': 0,
|
||||
'no-new': 0,
|
||||
'quote-props': ['error', 'as-needed'],
|
||||
'comma-dangle': ['error', 'always-multiline'],
|
||||
semi: 'off',
|
||||
'@typescript-eslint/semi': ['error', 'never'],
|
||||
'@typescript-eslint/member-delimiter-style': ['error', {
|
||||
multiline: {
|
||||
delimiter: 'none',
|
||||
},
|
||||
}],
|
||||
},
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
public/posts/* linguist-vendored
|
||||
+2
-20
@@ -1,21 +1,3 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
dist
|
||||
.netlify
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Pacharapol Withayasakpunt
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,5 +0,0 @@
|
||||
# 中文 Diary
|
||||
|
||||
Originally intended to post about 千字文, now about everything Chinese language, for a 泰国华人.
|
||||
|
||||
Created with <https://github.com/patarapolw/vue-blogify>
|
||||
Binary file not shown.
@@ -1,10 +0,0 @@
|
||||
module.exports = {
|
||||
"presets": [
|
||||
[
|
||||
"@vue/app",
|
||||
{
|
||||
"useBuiltIns": "entry"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
title: 中文 Diary
|
||||
tabs:
|
||||
- name: 千字文
|
||||
to: /tag/千字文
|
||||
- name: 句子
|
||||
to: /tag/句子
|
||||
- name: 分类词汇
|
||||
to: /tag/分类词汇
|
||||
posts:
|
||||
perPage: 5
|
||||
author:
|
||||
login: polvcode
|
||||
avatar: 'https://en.gravatar.com/userimage/35152960/7140205ee2a71cbe54d3f2ac43c0370d.jpg?size=24'
|
||||
link: https://polvcode.dev
|
||||
about: false
|
||||
external:
|
||||
disqus: zhdiary
|
||||
google:
|
||||
analytics: UA-146246917-1
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": "independent",
|
||||
"npmClient": "yarn",
|
||||
"useWorkspaces": true
|
||||
}
|
||||
Generated
-13095
File diff suppressed because it is too large.
Load diff
+25
-54
@@ -1,60 +1,31 @@
|
||||
{
|
||||
"name": "vue-blogify",
|
||||
"version": "0.1.0",
|
||||
"name": "zhdiary",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"repository": "https://github.com/patarapolw/zhdiary.git",
|
||||
"author": "<patarapolw@gmail.com>",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"types": "src/declaration.d.ts",
|
||||
"scripts": {
|
||||
"dev": "vue-cli-service serve:async",
|
||||
"build": "vue-cli-service build:async",
|
||||
"test": "ts-mocha -p tsconfig.test.json src/**/*.spec.ts",
|
||||
"deploy": "npm run build && gh-pages -d dist"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/node": "^12.7.2",
|
||||
"@types/uuid": "^3.4.5",
|
||||
"bootstrap-vue": "^2.0.0-rc.19",
|
||||
"core-js": "^2.6.5",
|
||||
"esm": "^3.2.25",
|
||||
"fast-glob": "^3.0.4",
|
||||
"gray-matter": "^4.0.2",
|
||||
"hyperpug": "^0.1.7",
|
||||
"hyperscript": "^2.0.2",
|
||||
"indented-filter": "^0.1.1",
|
||||
"js-yaml": "^3.13.1",
|
||||
"moment": "^2.24.0",
|
||||
"q2filter": "^0.1.3",
|
||||
"showdown": "^1.9.0",
|
||||
"uuid": "^3.3.3",
|
||||
"vue": "^2.6.10",
|
||||
"vue-class-component": "^7.0.2",
|
||||
"vue-disqus": "^3.0.5",
|
||||
"vue-property-decorator": "^8.1.0",
|
||||
"vue-router": "^3.0.3"
|
||||
},
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@babel/polyfill": "^7.4.4",
|
||||
"@types/expect": "^1.20.4",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@vue/cli-plugin-babel": "^3.10.0",
|
||||
"@vue/cli-plugin-typescript": "^3.10.0",
|
||||
"@vue/cli-service": "^3.10.0",
|
||||
"bootstrap": "^4.3.1",
|
||||
"husky": "^3.0.4",
|
||||
"mocha": "^6.2.0",
|
||||
"mutationobserver-shim": "^0.3.3",
|
||||
"node-sass": "^4.12.0",
|
||||
"popper.js": "^1.15.0",
|
||||
"portal-vue": "^2.1.4",
|
||||
"sass-loader": "^7.1.0",
|
||||
"ts-mocha": "^6.0.0",
|
||||
"typescript": "^3.4.3",
|
||||
"vue-cli-plugin-bootstrap-vue": "^0.4.0",
|
||||
"vue-cli-plugin-pug": "^1.0.7",
|
||||
"vue-template-compiler": "^2.6.10"
|
||||
"@typescript-eslint/eslint-plugin": "^2.12.0",
|
||||
"@typescript-eslint/parser": "^2.12.0",
|
||||
"@vue/eslint-config-standard": "^5.0.1",
|
||||
"@vue/eslint-config-typescript": "^5.0.1",
|
||||
"eslint": ">=6.2.2",
|
||||
"eslint-config-standard": "^14.1.0",
|
||||
"eslint-plugin-import": ">=2.18.0",
|
||||
"eslint-plugin-node": ">=9.1.0",
|
||||
"eslint-plugin-promise": ">=4.2.1",
|
||||
"eslint-plugin-standard": ">=4.0.0",
|
||||
"eslint-plugin-vue": "^6.0.1",
|
||||
"lerna": "^3.19.0",
|
||||
"typescript": "^3.7.4",
|
||||
"vue-eslint-parser": "^7.0.0"
|
||||
},
|
||||
"vuePlugins": {
|
||||
"service": [
|
||||
"vue.async.config.js"
|
||||
]
|
||||
"scripts": {
|
||||
"lint": "eslint ."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
# editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
@@ -0,0 +1,92 @@
|
||||
# Created by .ignore support plugin (hsz.mobi)
|
||||
### Node template
|
||||
# Logs
|
||||
/logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# Nuxt generate
|
||||
dist
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless
|
||||
|
||||
# IDE / Editor
|
||||
.idea
|
||||
|
||||
# Service worker
|
||||
sw.*
|
||||
|
||||
# Mac OSX
|
||||
.DS_Store
|
||||
|
||||
# Vim swap files
|
||||
*.swp
|
||||
|
||||
static/build/
|
||||
@@ -0,0 +1,22 @@
|
||||
# ZhDiary
|
||||
|
||||
> My journey to Chinese language
|
||||
|
||||
## Build Setup
|
||||
|
||||
``` bash
|
||||
# install dependencies
|
||||
$ yarn install
|
||||
|
||||
# serve with hot reload at localhost:3000
|
||||
$ yarn dev
|
||||
|
||||
# build for production and launch server
|
||||
$ yarn build
|
||||
$ yarn start
|
||||
|
||||
# generate static project
|
||||
$ yarn generate
|
||||
```
|
||||
|
||||
For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org).
|
||||
@@ -0,0 +1,57 @@
|
||||
@import "./spacing.scss";
|
||||
|
||||
p:not([class*="title"]) {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.card {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
iframe {
|
||||
max-height: unset;
|
||||
}
|
||||
|
||||
.noscroll {
|
||||
overflow: -moz-scrollbars-none;
|
||||
-ms-overflow-style: none;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.blog-post {
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
text-align: center;
|
||||
font-size: 80px;
|
||||
margin-bottom: 10px;
|
||||
font-family: serif;
|
||||
}
|
||||
|
||||
.speak {
|
||||
background: none !important;
|
||||
border: none;
|
||||
padding: 0 !important;
|
||||
cursor: pointer;
|
||||
font-family: arial, sans-serif;
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
details {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.d-inline-block {
|
||||
display: inline-block;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
declare global {
|
||||
interface Window {
|
||||
speak(s: string, lang?: string): void
|
||||
}
|
||||
}
|
||||
|
||||
export function speak (s: string, lang?: string) {
|
||||
lang = lang || 'zh-CN'
|
||||
|
||||
if (process.client) {
|
||||
let trueLang = ''
|
||||
|
||||
const voices = speechSynthesis.getVoices()
|
||||
const [la1, la2] = lang.split(/-_/)
|
||||
if (la2) {
|
||||
const langRegex = new RegExp(`${la1}[-_]${la2}`, 'i')
|
||||
const matchedLang = voices.filter((v) => langRegex.test(v.lang))
|
||||
if (matchedLang.length > 0) {
|
||||
trueLang = matchedLang.sort((v1, v2) => v1.localService
|
||||
? -1 : v2.localService ? 1 : 0)[0].lang
|
||||
}
|
||||
}
|
||||
if (!trueLang) {
|
||||
const langRegex = new RegExp(`^${la1}`, 'i')
|
||||
const matchedLang = voices.filter((v) => langRegex.test(v.lang))
|
||||
if (matchedLang.length > 0) {
|
||||
trueLang = matchedLang.sort((v1, v2) => v1.localService
|
||||
? -1 : v2.localService ? 1 : 0)[0].lang
|
||||
}
|
||||
}
|
||||
|
||||
if (trueLang) {
|
||||
const u = new SpeechSynthesisUtterance(s)
|
||||
u.lang = trueLang
|
||||
speechSynthesis.speak(u)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (process.client) {
|
||||
window.speak = speak
|
||||
|
||||
document.body.addEventListener('keydown', (evt) => {
|
||||
if (evt.code === 'KeyS') {
|
||||
const s = getSelection()
|
||||
if (s) {
|
||||
speak(s.toString())
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
import qs from 'querystring'
|
||||
import showdown from 'showdown'
|
||||
import { IHyperPugFilters } from 'hyperpug'
|
||||
import h from 'hyperscript'
|
||||
import { createIndentedFilter } from 'indented-filter'
|
||||
// @ts-ignore
|
||||
import scopeCss from 'scope-css'
|
||||
import cheerio from 'cheerio'
|
||||
|
||||
export default class MakeHtml {
|
||||
pugExtensions: IHyperPugFilters
|
||||
mdExtensions: Record<string, showdown.ShowdownExtension>
|
||||
mdConverter: showdown.Converter
|
||||
|
||||
constructor () {
|
||||
this.pugExtensions = {}
|
||||
this.mdExtensions = {
|
||||
simpleTable: {
|
||||
type: 'lang',
|
||||
filter (text) {
|
||||
const rowRegex = /(?:(?:^|\r?\n)(?:\| )?(?:(?:.* \| )+.+)*(?:.* \| )+.+(?: \|)?(?:$|\r?\n))+/m
|
||||
text = text.replace(rowRegex, (p0) => {
|
||||
return h('table.table', p0.trim().split('\n').map((pi) => {
|
||||
pi = pi.trim().replace(/^|/, '').replace(/|$/, '')
|
||||
return h('tr', pi.split(' | ').map(x => x.trim()).map((qi) => {
|
||||
return h('td', qi)
|
||||
}))
|
||||
})).outerHTML
|
||||
})
|
||||
return text
|
||||
},
|
||||
},
|
||||
pug: {
|
||||
type: 'lang',
|
||||
filter: (s) => {
|
||||
return s.replace(/\/\/ nuxt\n```pug\n([^]+?)\n```/g, (p0: string, p1: string) => {
|
||||
if (process.client) {
|
||||
return require('hyperpug').compile({ filters: this.pugExtensions })(p1)
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
css: {
|
||||
type: 'lang',
|
||||
filter: (s) => {
|
||||
return s.replace(/\/\/ nuxt\n```css\n([^]+?)\n```/g, (p0: string, p1: string) => {
|
||||
return h('style', {
|
||||
attrs: {
|
||||
'data-content': p1,
|
||||
},
|
||||
}).outerHTML
|
||||
})
|
||||
},
|
||||
},
|
||||
to: {
|
||||
type: 'lang',
|
||||
filter: createIndentedFilter('^^to', (s, attrs) => {
|
||||
return h('a', { href: attrs.url }, s).outerHTML
|
||||
}),
|
||||
},
|
||||
spoiler: {
|
||||
type: 'lang',
|
||||
filter: createIndentedFilter('^^spoiler', (s, attrs) => {
|
||||
return h('details', [
|
||||
...(attrs.summary ? [
|
||||
h('summary', attrs.summary),
|
||||
] : []),
|
||||
h('div', s),
|
||||
]).outerHTML
|
||||
}),
|
||||
},
|
||||
speak: {
|
||||
type: 'lang',
|
||||
filter: createIndentedFilter('^^speak', (s, attrs) => {
|
||||
return h('button.speak', {
|
||||
attrs: {
|
||||
type: 'button',
|
||||
onclick: `speak('${attrs.s || s}', ${attrs.lang || ''})`,
|
||||
},
|
||||
}, s).outerHTML
|
||||
}),
|
||||
},
|
||||
slide: {
|
||||
type: 'lang',
|
||||
filter: createIndentedFilter('^^slide', (s, attrs) => {
|
||||
return h('a', {
|
||||
href: `https://patarapolw.github.io/reveal-md/reveal/?${qs.stringify({
|
||||
q: (() => {
|
||||
let q = s
|
||||
if (attrs.github) {
|
||||
q = `https://raw.githubusercontent.com/${attrs.github}/master/${s}`
|
||||
}
|
||||
return q
|
||||
})(),
|
||||
})}`,
|
||||
}, s).outerHTML
|
||||
}),
|
||||
},
|
||||
}
|
||||
this.mdConverter = new showdown.Converter()
|
||||
this.mdConverter.setFlavor('github')
|
||||
this.pugExtensions.markdown = (s) => {
|
||||
return this.mdConverter.makeHtml(s)
|
||||
}
|
||||
Object.entries(this.mdExtensions).forEach(([k, ext]) => this.mdConverter.addExtension(ext, k))
|
||||
}
|
||||
|
||||
parse (s: string) {
|
||||
const html = this.mdConverter.makeHtml(s)
|
||||
return this.finalize(html)
|
||||
}
|
||||
|
||||
mdConvert = this.parse
|
||||
pugConvert (s: string) {
|
||||
const html = process.client ? require('hyperpug').compile({ filters: this.pugExtensions })(s) : ''
|
||||
return this.finalize(html)
|
||||
}
|
||||
|
||||
finalize (s: string) {
|
||||
const $ = cheerio.load(s)
|
||||
$('style').each((_, el) => {
|
||||
const $el = $(el)
|
||||
const content = $el.attr('data-content')
|
||||
if (content) {
|
||||
$el.html(scopeCss(content, '.make-html-scoped'))
|
||||
}
|
||||
})
|
||||
|
||||
return $.html()
|
||||
}
|
||||
}
|
||||
|
||||
export const makeHtml = new MakeHtml()
|
||||
@@ -0,0 +1,51 @@
|
||||
$sizeUnit: rem;
|
||||
$marginKey: "m";
|
||||
$paddingKey: "p";
|
||||
$separator: "-";
|
||||
$sizes: (("0", 0), ("xxs", 0.125), ("xs", 0.25), ("sm", 0.5), ("md", 1), ("lg", 2), ("xl", 4), ("xxl", 8));
|
||||
$positions: (("t", "top"), ("r", "right"), ("b", "bottom"), ("l", "left"), ("x", "x"), ("y", "y"), ("a", "around"));
|
||||
|
||||
@function sizeValue($key, $value) {
|
||||
@return if($key == "0", 0, $value + $sizeUnit);
|
||||
}
|
||||
|
||||
@each $size in $sizes {
|
||||
$sizeKey: nth($size, 1);
|
||||
$sizeValue: nth($size, 2);
|
||||
.#{$marginKey}#{$separator}#{$sizeKey} {
|
||||
margin: sizeValue($sizeKey, $sizeValue);
|
||||
}
|
||||
.#{$paddingKey}#{$separator}#{$sizeKey} {
|
||||
padding: sizeValue($sizeKey, $sizeValue);
|
||||
}
|
||||
@each $position in $positions {
|
||||
$posKey: nth($position, 1);
|
||||
$posValue: nth($position, 2);
|
||||
.#{$marginKey}#{$posKey}#{$separator}#{$sizeKey} {
|
||||
@if $posValue == "x" {
|
||||
margin-left: sizeValue($sizeKey, $sizeValue);
|
||||
margin-right: sizeValue($sizeKey, $sizeValue);
|
||||
} @else if $posValue == "y" {
|
||||
margin-top: sizeValue($sizeKey, $sizeValue);
|
||||
margin-bottom: sizeValue($sizeKey, $sizeValue);
|
||||
} @else if $posValue == "around" {
|
||||
margin: sizeValue($sizeKey, $sizeValue);
|
||||
} @else {
|
||||
margin-#{$posValue}: sizeValue($sizeKey, $sizeValue);
|
||||
}
|
||||
}
|
||||
.#{$paddingKey}#{$posKey}#{$separator}#{$sizeKey} {
|
||||
@if $posValue == "x" {
|
||||
padding-left: sizeValue($sizeKey, $sizeValue);
|
||||
padding-right: sizeValue($sizeKey, $sizeValue);
|
||||
} @else if $posValue == "y" {
|
||||
padding-top: sizeValue($sizeKey, $sizeValue);
|
||||
padding-bottom: sizeValue($sizeKey, $sizeValue);
|
||||
} @else if $posValue == "around" {
|
||||
padding: sizeValue($sizeKey, $sizeValue);
|
||||
} @else {
|
||||
padding-#{$posValue}: sizeValue($sizeKey, $sizeValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
import QParser from 'q2filter'
|
||||
|
||||
export const TAGS = JSON.parse(process.env.tags!)
|
||||
export const HASH = JSON.parse(process.env.hash!)
|
||||
|
||||
export function escapeRegExp (s: string) {
|
||||
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') // $& means the whole matched string
|
||||
}
|
||||
|
||||
export function normalizeArray<T> (it: T | T[]): T | undefined {
|
||||
if (Array.isArray(it)) {
|
||||
return it[0]
|
||||
}
|
||||
|
||||
return it
|
||||
}
|
||||
|
||||
export function searchPosts (options: {
|
||||
q?: any
|
||||
isBlog?: boolean
|
||||
current?: boolean
|
||||
posts: any[]
|
||||
}) {
|
||||
let posts: any[] = options.posts
|
||||
|
||||
if (options.isBlog) {
|
||||
posts = posts.filter((p) => p.path.startsWith('blog/'))
|
||||
}
|
||||
|
||||
if (options.current) {
|
||||
const now = new Date().toISOString()
|
||||
posts = posts.filter((h) => h.date && h.date <= now)
|
||||
}
|
||||
|
||||
const parser = new QParser(options.q || {}, {
|
||||
isString: ['title', 'author', 'tag'],
|
||||
isDate: ['date'],
|
||||
filters: {
|
||||
'is:reversed': (items) => {
|
||||
return items.reverse()
|
||||
},
|
||||
},
|
||||
sortBy: {
|
||||
key: 'date',
|
||||
desc: true,
|
||||
},
|
||||
})
|
||||
|
||||
return parser.parse(posts)
|
||||
}
|
||||
|
||||
export async function apiHash (u: string, h: string): Promise<string> {
|
||||
if (typeof location !== 'undefined') {
|
||||
const url = new URL(u, location.origin)
|
||||
url.searchParams.set('h', h)
|
||||
return fetch(url.href, {
|
||||
mode: 'no-cors',
|
||||
}).then((r) => r.text())
|
||||
} else {
|
||||
if (/\.json$/i.test(u)) {
|
||||
const req = (require as any).context('@/static', true, /\.json$/i)
|
||||
return JSON.stringify(req(`.${u}`))
|
||||
} else {
|
||||
const req = (require as any).context('@/static', true, /\.(html?|md|txt|ya?ml)$/i)
|
||||
return req(`.${u}`).default
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<template lang="pug">
|
||||
.container.m-md
|
||||
h4.title.is-4 Sorry, but no post can be found.
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Vue } from 'nuxt-property-decorator'
|
||||
|
||||
export default Vue.extend()
|
||||
</script>
|
||||
@@ -0,0 +1,80 @@
|
||||
<template lang="pug">
|
||||
section
|
||||
.blog-post(v-if="header.path")
|
||||
.card.my-lg
|
||||
.card-content.content
|
||||
post-header(:header="header")
|
||||
h1.title {{header.title}}
|
||||
.image-full(v-if="header.image")
|
||||
img(:src="header.image")
|
||||
div(v-html="html")
|
||||
div(style="word-break: break-word")
|
||||
span.mr-sm Tags:
|
||||
span.mr-sm(v-for="t in header.tag || []" :key="t")
|
||||
a(:href="$router.resolve('/tag/' + t).href") {{t}}
|
||||
.card.my-lg
|
||||
.card-content
|
||||
vue-disqus(v-if="disqus" :shortname="disqus" :identifier="$route.path")
|
||||
empty(v-else)
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import PostHeader from './PostHeader.vue'
|
||||
import Empty from './Empty.vue'
|
||||
import { Vue, Component, Prop, Watch } from 'nuxt-property-decorator'
|
||||
import { makeHtml } from '../assets/make-html'
|
||||
import { HASH } from '../assets/util'
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
PostHeader,
|
||||
Empty,
|
||||
},
|
||||
})
|
||||
export default class PostFull extends Vue {
|
||||
@Prop({ required: true }) header!: any
|
||||
|
||||
markdown = this.header.teaser || ''
|
||||
disqus = 'zhdiary'
|
||||
|
||||
mounted () {
|
||||
this.updatePost()
|
||||
}
|
||||
|
||||
@Watch('header.path')
|
||||
async updatePost () {
|
||||
if (!this.markdown) {
|
||||
this.markdown = await fetch(`/build/teaser/${this.header.path}?h=${HASH.posts[this.header.path]}`).then((r) => r.text())
|
||||
}
|
||||
this.markdown = await fetch(`/build/full/${this.header.path}?h=${HASH.posts[this.header.path]}`).then((r) => r.text())
|
||||
}
|
||||
|
||||
get html () {
|
||||
return makeHtml.parse(this.markdown || '')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.image-full {
|
||||
text-align: center;
|
||||
margin: 1rem;
|
||||
|
||||
img {
|
||||
min-width: 500px;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 800px) {
|
||||
.image-full {
|
||||
margin-left: -1.5rem;
|
||||
margin-right: -1.5rem;
|
||||
|
||||
img {
|
||||
min-width: unset;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,53 @@
|
||||
<template lang="pug">
|
||||
.post-meta.mb-sm
|
||||
.post-meta-author
|
||||
a.mr-md(:href="author.link" style="width: 24px; min-width: 24px"): img(:src="author.avatar" style="border-radius: 50%;")
|
||||
a.mr-md(:href="author.link") {{author.login}}
|
||||
div(style="flex-grow: 1")
|
||||
div {{dateString}}
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import moment, { Moment } from 'moment'
|
||||
import { Vue, Component, Prop } from 'nuxt-property-decorator'
|
||||
|
||||
@Component
|
||||
export default class PostHeader extends Vue {
|
||||
@Prop({ required: true }) header!: any
|
||||
|
||||
author = {
|
||||
login: 'polvcode',
|
||||
avatar: 'https://en.gravatar.com/userimage/35152960/7140205ee2a71cbe54d3f2ac43c0370d.jpg?size=24',
|
||||
link: 'https://polvcode.dev',
|
||||
}
|
||||
|
||||
get moment () {
|
||||
return this.header.date ? moment(this.header.date) : null
|
||||
}
|
||||
|
||||
get dateString () {
|
||||
return this.moment ? this.moment.format('ddd D MMMM YYYY') : ''
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.post-meta {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
white-space: nowrap;
|
||||
overflow: auto;
|
||||
|
||||
.post-meta-author {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
white-space: nowrap;
|
||||
justify-content: center;
|
||||
|
||||
a {
|
||||
border: none;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,87 @@
|
||||
<template lang="pug">
|
||||
section
|
||||
section.m-lg(v-if="tag")
|
||||
h2.title.is-2
|
||||
span.mr-sm Tag:
|
||||
span(style="font-weight: 400") {{tag}}
|
||||
section(v-if="posts && posts.length > 0")
|
||||
post-teaser(v-for="p in posts" :header="p" :key="p.name")
|
||||
b-pagination.my-lg.mx-sm(:current.sync="page" :total="count" :per-page="perPage"
|
||||
icon-prev="caret-left" icon-next="caret-right" size="default" rounded)
|
||||
div(v-else-if="posts")
|
||||
empty
|
||||
div(v-else)
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import PostTeaser from './PostTeaser.vue'
|
||||
import Empty from './Empty.vue'
|
||||
import QParser from 'q2filter'
|
||||
import { normalizeArray, searchPosts, HASH } from '@/assets/util'
|
||||
import { Vue, Component, Prop, Watch } from 'nuxt-property-decorator'
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
PostTeaser,
|
||||
Empty,
|
||||
},
|
||||
})
|
||||
export default class PostQuery extends Vue {
|
||||
@Prop({ default: '' }) q!: string
|
||||
@Prop({ default: '' }) tag!: string
|
||||
@Prop({ required: true }) defaults!: {
|
||||
count: number
|
||||
posts: any[]
|
||||
}
|
||||
|
||||
count = this.defaults.count
|
||||
posts: any[] = this.defaults.posts
|
||||
perPage = 5
|
||||
|
||||
get page () {
|
||||
return parseInt(normalizeArray(this.$route.query.page) || '1')
|
||||
}
|
||||
|
||||
set page (p) {
|
||||
const { page, ...query } = this.$route.query
|
||||
if (p === 1) {
|
||||
this.$router.push({ query })
|
||||
} else {
|
||||
this.$router.push({
|
||||
query: {
|
||||
...query,
|
||||
page: p.toString(),
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
mounted () {
|
||||
this.updatePosts()
|
||||
}
|
||||
|
||||
@Watch('page')
|
||||
@Watch('q')
|
||||
@Watch('tag')
|
||||
async updatePosts () {
|
||||
const ps = await Promise.all(searchPosts({
|
||||
q: this.tag ? {
|
||||
tag: this.tag,
|
||||
} : this.q,
|
||||
current: true,
|
||||
posts: await fetch(`/build/header/posts.json?h=${HASH.posts._header}`).then((r) => r.json()),
|
||||
}).map(async (h) => {
|
||||
if (!h.teaser) {
|
||||
h.teaser = await fetch(`/build/teaser/${h.path}?h=${HASH.posts[h.path]}`).then((r) => r.text())
|
||||
}
|
||||
return h
|
||||
}))
|
||||
|
||||
this.count = ps.length
|
||||
this.posts = ps.filter((p, i) => {
|
||||
const iPage = i / this.perPage
|
||||
return iPage >= this.page - 1 && iPage < this.page
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,86 @@
|
||||
<template lang="pug">
|
||||
.card.my-lg.blog-post
|
||||
.card-content
|
||||
post-header(:header="header")
|
||||
.post-content
|
||||
.image-teaser(v-if="header.image")
|
||||
img(:src="header.image")
|
||||
h2.title {{header.title}}
|
||||
.content(v-html="html")
|
||||
div(style="display: flex; justify-content: flex-end")
|
||||
b-button(type="is-danger" outlined @click="openPostUrl") Read more
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import PostHeader from './PostHeader.vue'
|
||||
import { Vue, Component, Prop } from 'nuxt-property-decorator'
|
||||
import { makeHtml } from '../assets/make-html'
|
||||
import { HASH } from '../assets/util'
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
PostHeader,
|
||||
},
|
||||
})
|
||||
export default class PostTeaser extends Vue {
|
||||
@Prop({ required: true }) header!: any
|
||||
|
||||
teaser: string = this.header.teaser || ''
|
||||
|
||||
async mounted () {
|
||||
if (!this.teaser) {
|
||||
this.teaser = await fetch(`/build/teaser/${this.header.path}.html?h=${HASH.posts[this.header.path]}`)
|
||||
.then((r) => r.text())
|
||||
}
|
||||
}
|
||||
|
||||
get html () {
|
||||
return makeHtml.parse(this.teaser)
|
||||
}
|
||||
|
||||
openPostUrl () {
|
||||
if (this.header.name) {
|
||||
if (this.header.y && this.header.mo) {
|
||||
this.$router.push(`/post/${this.header.y}/${this.header.mo}/${this.header.name}`)
|
||||
} else {
|
||||
this.$router.push(`/post/${this.header.name}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.content {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
max-width: 80vw;
|
||||
}
|
||||
|
||||
.post-content {
|
||||
width: 100%;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.image-teaser {
|
||||
width: calc(100% + 3rem);
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
margin-left: -1.5rem;
|
||||
margin-right: -1.5rem;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 800px) {
|
||||
.image-teaser {
|
||||
width: 100%;
|
||||
max-width: 300px;
|
||||
max-height: 300px;
|
||||
float: right;
|
||||
margin: 1rem;
|
||||
}
|
||||
|
||||
.post-content {
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,7 @@
|
||||
# COMPONENTS
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
The components directory contains your Vue.js Components.
|
||||
|
||||
_Nuxt.js doesn't supercharge these components._
|
||||
@@ -8,32 +8,32 @@ tag:
|
||||
---
|
||||
|
||||
1
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.1.pug") 天地玄黃,宇宙洪荒。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.2.pug") 日月盈昃,辰宿列張。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.3.pug") 寒來暑往,秋收冬藏。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.4.pug") 閏餘成歲,律呂調陽。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.5.pug") 雲騰致雨,露結為霜。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.6.pug") 金生麗水,玉出崑岡。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.7.pug") 劍號巨闕,珠稱夜光。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.8.pug") 果珍李柰,菜重芥薑。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文1.9.pug") 海咸河淡,鱗潛羽翔。
|
||||
^^to(url="/post/千字文1.1") 天地玄黃,宇宙洪荒。
|
||||
^^to(url="/post/千字文1.2") 日月盈昃,辰宿列張。
|
||||
^^to(url="/post/千字文1.3") 寒來暑往,秋收冬藏。
|
||||
^^to(url="/post/千字文1.4") 閏餘成歲,律呂調陽。
|
||||
^^to(url="/post/千字文1.5") 雲騰致雨,露結為霜。
|
||||
^^to(url="/post/千字文1.6") 金生麗水,玉出崑岡。
|
||||
^^to(url="/post/千字文1.7") 劍號巨闕,珠稱夜光。
|
||||
^^to(url="/post/千字文1.8") 果珍李柰,菜重芥薑。
|
||||
^^to(url="/post/千字文1.9") 海咸河淡,鱗潛羽翔。
|
||||
2
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文2.1.pug") 龍師火帝,鳥官人皇。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文2.2.pug") 始制文字,乃服衣裳。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文2.3.pug") 推位讓國,有虞陶唐。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文2.4.pug") 弔民伐罪,周發殷湯。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文2.5.pug") 坐朝問道,垂拱平章。
|
||||
^^to(url="/p" filename="public/posts/2019/08/千字文2.6.pug") 愛育黎首,臣伏戎羌。
|
||||
^^to(url="/p" filename="public/posts/2019/09/千字文2.7.pug") 遐邇一體,率賓歸王。
|
||||
^^to(url="/p" filename="public/posts/2019/09/千字文2.8.pug") 鳴鳳在竹,白駒食場。
|
||||
^^to(url="/p" filename="public/posts/2019/09/千字文2.9.pug") 化被草木,賴及萬方。
|
||||
^^to(url="/post/千字文2.1") 龍師火帝,鳥官人皇。
|
||||
^^to(url="/post/千字文2.2") 始制文字,乃服衣裳。
|
||||
^^to(url="/post/千字文2.3") 推位讓國,有虞陶唐。
|
||||
^^to(url="/post/千字文2.4") 弔民伐罪,周發殷湯。
|
||||
^^to(url="/post/千字文2.5") 坐朝問道,垂拱平章。
|
||||
^^to(url="/post/千字文2.6") 愛育黎首,臣伏戎羌。
|
||||
^^to(url="/post/千字文2.7") 遐邇一體,率賓歸王。
|
||||
^^to(url="/post/千字文2.8") 鳴鳳在竹,白駒食場。
|
||||
^^to(url="/post/千字文2.9") 化被草木,賴及萬方。
|
||||
|
||||
===
|
||||
|
||||
3
|
||||
^^to(url="/p" filename="public/posts/2019/09/千字文3.1.pug") 蓋此身髮,四大五常。
|
||||
^^to(url="/p" filename="public/posts/2019/09/千字文3.2.pug") 恭惟鞠養,豈敢毀傷。
|
||||
^^to(url="/p" filename="public/posts/2019/09/千字文3.3.pug") 女慕貞絜,男效才良。
|
||||
^^to(url="/post/千字文3.1") 蓋此身髮,四大五常。
|
||||
^^to(url="/post/千字文3.2") 恭惟鞠養,豈敢毀傷。
|
||||
^^to(url="/post/千字文3.3") 女慕貞絜,男效才良。
|
||||
知過必改,得能莫忘。
|
||||
罔談彼短,靡恃己長。
|
||||
信使可覆,器欲難量。
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,50 @@
|
||||
---
|
||||
title: "身体1"
|
||||
date: "2019-08-18 01:00"
|
||||
tag:
|
||||
- 分类词汇
|
||||
- 身体
|
||||
---
|
||||
|
||||
From <https://www.yellowbridge.com/chinese/listsearch.php?listID=44>
|
||||
|
||||
### Sentence quiz
|
||||
|
||||
Please see ^^slide(github="patarapolw/zh-slides") slides/身体1.md
|
||||
|
||||
Highlight text and press "x" inside the presentation to speak.
|
||||
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 4em;
|
||||
}
|
||||
```
|
||||
|
||||
胳膊 | gēbo | arm
|
||||
手膀 | shǒubǎng | arm
|
||||
肚子 | dùzi | belly; abdomen; stomach
|
||||
臀部 | túnbù | butt; buttocks
|
||||
胸部 | xiōngbù | chest; bosom
|
||||
手肘 | shǒuzhǒu | elbow
|
||||
脸 | liǎn | face
|
||||
手指 | shǒuzhǐ | finger
|
||||
指甲 | zhǐjia | fingernail
|
||||
脚 | jiǎo | foot; leg (of an animal or an object); base (of an object); measure word for kicks
|
||||
头发 | tóufa | hair (on the head)
|
||||
手 | shǒu | hand; (formal) to hold; person engaged in certain types of work; person skilled in certain types of work; personal(ly); convenient; measure word for skill
|
||||
头 | tóu | head; hair style; the top; end; beginning or end; a stub; remnant; chief; boss; side; aspect; first; leading; measure word for pigs or livestock
|
||||
膝盖 | xīgài | knee
|
||||
腿 | tuǐ | leg
|
||||
脖子 | bózi | neck
|
||||
颈项 | jǐngxiàng | neck
|
||||
肩头 | jiāntóu | on one's shoulders; (dialect) shoulder
|
||||
手掌 | shǒuzhǎng | palm
|
||||
肩膀 | jiānbǎng | shoulder
|
||||
皮肤 | pífū | skin
|
||||
大腿 | dàtuǐ | thigh
|
||||
喉咙 | hóulóng | throat; larynx
|
||||
脚趾 | jiǎozhǐ | toe
|
||||
腰 | yāo | waist; lower back; pocket; middle; loins
|
||||
腕 | wàn | wrist; (squid, starfish etc) arm
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "Learning Chinese using Git -- ZhLab"
|
||||
date: "2019-09-25"
|
||||
tag:
|
||||
- diary
|
||||
---
|
||||
|
||||
Apparently, yesterday, I made a Chinese learning resources, aggregated from various textbooks. I plan to make it mostly in JSON format (see ^^to(url="/resources") /resources^^), for easy computerized parsing. I am a tech guy after all.
|
||||
|
||||
I also move the contents from <https://zhdiary.now.sh> and <https://patarapolw.github.io/zh-slides> to here.
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: "Fruit and vegetables quiz"
|
||||
date: "2019-09-30"
|
||||
image: https://images.chinatimes.com/newsphoto/2018-12-31/900/20181231000035.jpg
|
||||
tag:
|
||||
- quiz
|
||||
---
|
||||
|
||||
See ^^to(url="/quiz" filename="vocab/chinese/2019-09-30-fruit.md") /quiz/vocab/chinese/2019-09-30-fruit.md^^
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "Move to new URL notice"
|
||||
date: "2019-10-07"
|
||||
tag:
|
||||
- diary
|
||||
---
|
||||
|
||||
I have moved to <https://zhsrs.herokuapp.com>, to utilize a database (MongoDB), and possibly create User Management and Quizzes in the future. Also, to handle even more posts and resources.
|
||||
|
||||
I will try to keep the same layout, though.
|
||||
@@ -0,0 +1,71 @@
|
||||
---
|
||||
title: "Chinese from Emoji 1: 学习用品"
|
||||
date: 2019-11-26
|
||||
image: https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQpaKJKlp3UhF_S-Q5sPWmLnKhwb8Ey0sqA7ersas1OJcAgZFzB
|
||||
tag:
|
||||
- vocab
|
||||
- emoji
|
||||
- quiz
|
||||
---
|
||||
|
||||
Try listening to these vocabs.
|
||||
|
||||
✂️🎒✏️📎☄️🖊🖋🖍
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="剪刀") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
剪刀 ✂️ jian3 dao1
|
||||
|
||||
^^speak(s="书包") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
书包 🎒 shu1 bao1
|
||||
|
||||
^^speak(s="铅笔") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
铅笔 ✏️ qian1 bi3
|
||||
|
||||
^^speak(s="回形针") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
回形针 📎 hui2 xing2 zhen1
|
||||
|
||||
^^speak(s="彗星") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
彗星 ☄️ hui4 xing1
|
||||
|
||||
^^speak(s="圆珠笔") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
圆珠笔 🖊 yuan2 zhu1 bi3
|
||||
|
||||
^^speak(s="钢笔") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
钢笔 🖋 gang1 bi3
|
||||
|
||||
^^speak(s="蜡笔") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
蜡笔 🖍 la4 bi3
|
||||
@@ -0,0 +1,227 @@
|
||||
---
|
||||
title: "Chinese from Emoji 2: 陆地动物"
|
||||
date: 2019-11-27
|
||||
image: https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQpaKJKlp3UhF_S-Q5sPWmLnKhwb8Ey0sqA7ersas1OJcAgZFzB
|
||||
tag:
|
||||
- vocab
|
||||
- emoji
|
||||
- quiz
|
||||
---
|
||||
|
||||
Try listening to these vocabs.
|
||||
|
||||
🐇🐿🦌🐑🐔🦃🐃🦇🦘🐘🐐🐎🦓🦔🐱🦒
|
||||
|
||||
🦏🐒🐂🦁🐅🐆🐭🦊🐺🐻🐼🐖🐷🐗🦛
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="兔子") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
兔子 🐇
|
||||
|
||||
^^speak(s="松鼠") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
松鼠 🐿
|
||||
|
||||
^^speak(s="鹿") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
鹿 🦌
|
||||
|
||||
^^speak(s="羊") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
羊 🐑
|
||||
|
||||
^^speak(s="鸡") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
鸡 🐔
|
||||
|
||||
^^speak(s="火鸡") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
火鸡 🦃
|
||||
|
||||
^^speak(s="水牛") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
水牛 🐃
|
||||
|
||||
^^speak(s="蝙蝠") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
蝙蝠 🦇
|
||||
|
||||
^^speak(s="袋鼠") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
袋鼠 🦘
|
||||
|
||||
^^speak(s="象") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
象 🐘
|
||||
|
||||
^^speak(s="山羊") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
山羊 🐐
|
||||
|
||||
^^speak(s="马") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
马 🐎
|
||||
|
||||
^^speak(s="斑马") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
斑马 🦓
|
||||
|
||||
^^speak(s="刺猬") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
刺猬 🦔
|
||||
|
||||
^^speak(s="猫") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
猫 🐱
|
||||
|
||||
^^speak(s="长颈鹿") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
长颈鹿 🦒
|
||||
|
||||
^^speak(s="犀牛") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
犀牛 🦏
|
||||
|
||||
^^speak(s="猴子") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
猴子 🐒
|
||||
|
||||
^^speak(s="牛") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
牛 🐂
|
||||
|
||||
^^speak(s="狮子") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
狮子 🦁
|
||||
|
||||
^^speak(s="老虎") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
老虎 🐅
|
||||
|
||||
^^speak(s="豹") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
豹 🐆
|
||||
|
||||
^^speak(s="鼠") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
鼠 🐭
|
||||
|
||||
^^speak(s="狐狸") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
狐狸 🦊
|
||||
|
||||
^^speak(s="狼") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
狼 🐺
|
||||
|
||||
^^speak(s="熊") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
熊 🐻 (● ̄(エ) ̄●)
|
||||
|
||||
^^speak(s="熊猫") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
熊猫 🐼
|
||||
|
||||
^^speak(s="猪") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
猪 🐖 🐷 ^(\* ̄(oo) ̄)^
|
||||
|
||||
^^speak(s="野猪") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
野猪 🐗
|
||||
|
||||
^^speak(s="河马") Click to speak
|
||||
|
||||
^^spoiler.
|
||||

|
||||
|
||||
河马 🦛
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Moving to Netlify
|
||||
date: 2019-11-25
|
||||
tag:
|
||||
- diary
|
||||
---
|
||||
|
||||
After all, I am moving to Netlify, powered by [blog.nuxt](https://github.com/patarapolw/blog.nuxt), which is also for SEO purposes.
|
||||
|
||||
<https://medium.com/liferaydesign/netlify-vs-zeit-vs-github-pages-5f609dd6912b>
|
||||
|
||||
Also, Netlify is easier for a more complex setup (uses build script), just like Heroku; but [Netlify might load faster than Heroku for static pages](https://www.netlify.com/blog/2016/12/15/migrating-to-a-static-site-with-jamstack-netlify/).
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: Back to former glory
|
||||
date: 2019-12-07
|
||||
tag:
|
||||
- vuetify
|
||||
- resources
|
||||
- slides
|
||||
---
|
||||
|
||||
[Resources](/resources) and [Slides](/slides) are now browse-able again. Enjoy!
|
||||
@@ -0,0 +1,131 @@
|
||||
---
|
||||
title: "Chinese from Emoji 3: 水生和昆虫"
|
||||
date: 2019-12-08
|
||||
image: https://steamuserimages-a.akamaihd.net/ugc/264973755082472713/B44953104F4F5FBB70205CCCD759E511C0E50E52/
|
||||
tag:
|
||||
- vocab
|
||||
- emoji
|
||||
- quiz
|
||||
- animal
|
||||
---
|
||||
|
||||
🐸🦞🐢🐬🐟🐳🕊🐚🦗🐞🦋🐝🐜🦂🕷🦟🐛
|
||||
|
||||
As well as, `(‧‧)nnn`
|
||||
|
||||
Don't forget -- this entire website is [Highlight text and press 's' to speak](https://patarapolw.github.io/s2speak/)
|
||||
- Including [/resources](/resources) and [/slides](/slides)
|
||||
|
||||
===
|
||||
|
||||
^^speak 🐸
|
||||
|
||||
^^spoiler.
|
||||
🐸
|
||||
|
||||

|
||||
|
||||
^^speak 🦞
|
||||
|
||||
^^spoiler.
|
||||
🦞
|
||||
|
||||

|
||||
|
||||
^^speak 🐢
|
||||
|
||||
^^spoiler.
|
||||
🐢
|
||||
|
||||

|
||||
|
||||
^^speak 🐟
|
||||
|
||||
^^spoiler.
|
||||
🐟
|
||||
|
||||

|
||||
|
||||
^^speak 🐳
|
||||
|
||||
^^spoiler.
|
||||
🐳
|
||||
|
||||

|
||||
|
||||
^^speak 🕊
|
||||
|
||||
^^spoiler.
|
||||
🕊
|
||||
|
||||

|
||||
|
||||
^^speak 🐚
|
||||
|
||||
^^spoiler.
|
||||
🐚
|
||||
|
||||

|
||||
|
||||
^^speak 🦗
|
||||
|
||||
^^spoiler.
|
||||
🦗
|
||||
|
||||

|
||||
|
||||
^^speak 🐞
|
||||
|
||||
^^spoiler.
|
||||
🐞
|
||||
|
||||

|
||||
|
||||
^^speak 🦋
|
||||
|
||||
^^spoiler.
|
||||
🦋
|
||||
|
||||

|
||||
|
||||
^^speak 🐝
|
||||
|
||||
^^spoiler.
|
||||
🐝
|
||||
|
||||

|
||||
|
||||
^^speak 🐜
|
||||
|
||||
^^spoiler.
|
||||
🐜
|
||||
|
||||

|
||||
|
||||
^^speak 🦂
|
||||
|
||||
^^spoiler.
|
||||
🦂
|
||||
|
||||

|
||||
|
||||
^^speak 🕷
|
||||
|
||||
^^spoiler.
|
||||
🕷
|
||||
|
||||

|
||||
|
||||
^^speak 🦟
|
||||
|
||||
^^spoiler.
|
||||
🦟
|
||||
|
||||

|
||||
|
||||
^^speak 🐛
|
||||
|
||||
^^spoiler.
|
||||
🐛
|
||||
|
||||

|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "千字文 - 1/1"
|
||||
date: "2019-08-11"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 天地玄黃,宇宙洪荒。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://upload.wikimedia.org/wikipedia/commons/a/ab/天-order.gif")
|
||||
figcaption.text-center tian1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://upload.wikimedia.org/wikipedia/commons/f/fb/地-order.gif" )
|
||||
figcaption.text-center di4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://upload.wikimedia.org/wikipedia/commons/d/d3/玄-order.gif" )
|
||||
figcaption.text-center xuan2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://upload.wikimedia.org/wikipedia/commons/e/e7/黄-order.gif" )
|
||||
figcaption.text-center huang2
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/23431.gif" )
|
||||
figcaption.text-center yu3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/23449.gif" )
|
||||
figcaption.text-center zhou4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27946.gif" )
|
||||
figcaption.text-center hong2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/33618.gif" )
|
||||
figcaption.text-center huang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
宇宙 | yǔzhòu | universe / cosmos
|
||||
宇航 | yǔháng | space flight
|
||||
宇航员 | yǔhángyuán | astronaut
|
||||
宇宙飞船 | yǔzhòufēichuán | spacecraft
|
||||
防洪 | fánghóng | flood control / flood prevention
|
||||
山洪 | shānhóng | mountain flash flood / mountain torrent
|
||||
荒 | huāng | desolate / shortage / scarce / out of practice / absurd / uncultivated / to neglect
|
||||
荒野 | huāngyě | wilderness
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: "千字文 - 1/2"
|
||||
date: "2019-08-12"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 日月盈昃,辰宿列張。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26085.gif" )
|
||||
figcaption.text-center ri4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26376.gif" )
|
||||
figcaption.text-center yue4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/30408.gif" )
|
||||
figcaption.text-center ying2
|
||||
figure.d-inline-block.text-center
|
||||
.hanzi-img 昃
|
||||
figcaption ze4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/36784.gif" )
|
||||
figcaption.text-center chen2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/23487.gif" )
|
||||
figcaption.text-center su4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21015.gif" )
|
||||
figcaption.text-center lie2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24373.gif" )
|
||||
figcaption.text-center zhang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
盈利 | yínglì | profit / gain
|
||||
轻盈 | qīngyíng | graceful / lithe / light and graceful / lighthearted / relaxed
|
||||
盈亏 | yíngkuī | profit and loss / waxing and waning
|
||||
昃 | zè | afternoon / decline
|
||||
星辰 | xīngchén | stars
|
||||
时辰 | shíchen | time / one of the 12 two-hour periods of the day
|
||||
北辰 | Běichén | Polaris / North Star
|
||||
诞辰 | dànchén | birthday
|
||||
生辰 | shēngchén | birthday
|
||||
宿舍 | sùshè | dormitory / dorm room / living quarters / hostel / CL: 間|间
|
||||
住宿 | zhùsù | to stay at / lodging / accommodation
|
||||
列表 | lièbiǎo | list
|
||||
系列 | xìliè | series / set
|
||||
列 | liè | to arrange / to line up / file / series / (in data tables) column / (Tw) row
|
||||
序列 | xùliè | sequence
|
||||
下列 | xiàliè | following
|
||||
列车 | lièchē | (railway) train
|
||||
张 | zhāng | to open up / to spread / sheet of paper / classifier for flat objects, sheet / classifier for votes
|
||||
紧张 (緊張) | jǐnzhāng | nervous / keyed up / intense / tense / strained / in short supply / scarce / CL: 陣|阵
|
||||
主张 | zhǔzhāng | to advocate / to stand for / view / position / stand / proposition / viewpoint / assertion / CL: 個|个
|
||||
扩张 (擴張) | kuòzhāng | expansion / dilation / to expand (e.g. one's power or influence) / to broaden
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
title: "千字文 - 1/3"
|
||||
date: "2019-08-13"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 寒來暑往,秋收冬藏。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/23506.gif" )
|
||||
figcaption.text-center han2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20358.gif" )
|
||||
figcaption.text-center lai2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26257.gif" )
|
||||
figcaption.text-center shu3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24448.gif" )
|
||||
figcaption.text-center wang3
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/31179.gif" )
|
||||
figcaption.text-center qiu1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25910.gif" )
|
||||
figcaption.text-center shou1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20908.gif" )
|
||||
figcaption.text-center dong1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/34255.gif" )
|
||||
figcaption.text-center cang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
寒假 | hánjià | winter vacation
|
||||
伤寒 (傷寒) | shānghán | typhoid
|
||||
严寒 | yánhán | bitter cold / severe winter
|
||||
暑期 | shǔqī | summer vacation time
|
||||
暑假 | shǔjià | summer vacation / CL: 個|个
|
||||
避暑 | bìshǔ | to be away for the summer holidays / to spend a holiday at a summer resort / to prevent sunstroke
|
||||
前往 | qiánwǎng | to leave for / to proceed towards / to go
|
||||
往往 | wǎngwǎng | usually / in many cases / more often than not
|
||||
往年 | wǎngnián | in former years / in previous years
|
||||
往返 | wǎngfǎn | to go back and forth / to go to and fro / round trip
|
||||
过往 (過往) | guòwǎng | to come and go / to have friendly relations with / in the past / previous
|
||||
交往 | jiāowǎng | to associate (with) / to have contact (with) / to hang out (with) / to date / (interpersonal) relationship / association / contact
|
||||
以往 | yǐwǎng | in the past / formerly
|
||||
往事 | wǎngshì | past events / former happenings
|
||||
秋季 | qiūjì | autumn / fall
|
||||
春秋 | chūnqiū | spring and autumn / four seasons / year / a person's age / annals (used in book titles)
|
||||
冬季 | dōngjì | winter
|
||||
冬天 | dōngtiān | winter / CL: 個|个
|
||||
春夏秋冬 | chūnxiàqiūdōng | the four seasons / spring, summer, autumn and winter
|
||||
冬瓜 | dōngguā | wax gourd (Cucurbitaceae, Benincasa hispida) / white gourd / white hairy melon / Chinese squash
|
||||
收藏 | shōucáng | to hoard / to collect / collection / to bookmark (Internet)
|
||||
@@ -0,0 +1,94 @@
|
||||
---
|
||||
title: "千字文 - 1/4"
|
||||
date: "2019-08-14"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 閏餘成歲,律呂調陽。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
.hanzi-img 閏
|
||||
figcaption.text-center run4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/39192.gif" )
|
||||
figcaption.text-center yu2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25104.gif" )
|
||||
figcaption.text-center cheng2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27506.gif" )
|
||||
figcaption.text-center sui4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24459.gif" )
|
||||
figcaption.text-center lu:4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21570.gif" )
|
||||
figcaption.text-center lu:3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/35519.gif" )
|
||||
figcaption.text-center diao4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/38525.gif" )
|
||||
figcaption.text-center yang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
闰年 | rùnnián | leap year / (lunar calendar) year with a thirteen intercalary month
|
||||
闰月 | rùnyuè | intercalary month in the lunar calendar / leap month
|
||||
敖闰 | Áorùn | Dragon King of the West Sea, Ao Run, also Ao Ji (敖吉)
|
||||
余额 (餘額) | yú'é | balance (of an account, bill etc) / surplus / remainder
|
||||
剩余 (剩餘) | shèngyú | remainder / surplus
|
||||
其余 (其餘) | qíyú | the rest / the others / remaining / remainder / apart from them
|
||||
业余 (業餘) | yèyú | in one's spare time / outside working hours / amateur (historian etc)
|
||||
多余 (多餘) | duōyú | superfluous / unnecessary / surplus
|
||||
岁月 (歲月) | suìyuè | years / time
|
||||
周岁 (週歲) | zhōusuì | one full year (e.g. on child's first birthday)
|
||||
万岁 (萬歲) | wànsuì | Long live (the king, the revolution etc)! / Your Majesty / His Majesty
|
||||
岁时 (歲時) | suìshí | season / time of the year
|
||||
贺岁 (賀歲) | hèsuì | to extend New Year's greetings / to pay a New Year's visit
|
||||
法律 | fǎlǜ | law / CL: 條|条, 套, 個|个
|
||||
律师 | lǜshī | lawyer
|
||||
规律 | guīlǜ | rule (e.g. of science) / law of behavior / regular pattern / rhythm / discipline
|
||||
纪律 | jìlǜ | discipline
|
||||
吕 | lǚ | pitchpipe, pitch standard, one of the twelve semitones in the traditional tone system
|
||||
吕梁 | Lǚliáng | Lüliang prefecture-level city in Shanxi 山西
|
||||
调研 | diàoyán | to investigate and research / research / investigation
|
||||
调 | diào | to transfer / to move (troops or cadres) / to investigate / to enquire into / accent / view / argument / key (in music) / mode (music) / tune / tone / melody
|
||||
调 | tiáo | to harmonize / to reconcile / to blend / to suit well / to adjust / to regulate / to season (food) / to provoke / to incite
|
||||
调整 | tiáozhěng | to adjust / adjustment / revision / CL: 個|个
|
||||
空调 | kōngtiáo | air conditioning / air conditioner (including units that have a heating mode) / CL: 臺|台
|
||||
调查 | diàochá | investigation / inquiry / to investigate / to survey / survey / (opinion) poll / CL: 項|项, 個|个
|
||||
强调 (強調) | qiángdiào | to emphasize (a statement) / to stress
|
||||
调节 (調節) | tiáojié | to adjust / to regulate / to harmonize / to reconcile (accountancy etc)
|
||||
调试 | tiáoshì | to debug / to adjust components during testing / debugging
|
||||
调用 | diàoyòng | to transfer (for a specific purpose) / to allocate / (computing) to invoke (a command, an application etc)
|
||||
协调 (協調) | xiétiáo | to coordinate / to harmonize / to fit together / to match (colors etc) / harmonious / concerted
|
||||
调剂 (調劑) | tiáojì | to adjust / to balance / to make up a medical prescription
|
||||
色调 | sèdiào | hue / tone
|
||||
调理 | tiáolǐ | to nurse one's health / to recuperate / to take care of / to look after / to discipline / to educate / to train / to prepare food / (dialect) to make fun of / (medicine) to opsonize
|
||||
太阳 (太陽) | tàiyang | sun / CL: 個|个 / abbr. for 太陽穴|太阳穴
|
||||
阳光 (陽光) | yángguāng | sunshine / CL: 線|线 / transparent (open to public scrutiny)
|
||||
斜阳 (斜陽) | xiéyáng | setting sun
|
||||
朝阳 (朝陽) | cháoyáng | to be exposed to the sun / in a position facing the sun
|
||||
朝阳 (朝陽) | zhāoyáng | the morning sun
|
||||
@@ -0,0 +1,104 @@
|
||||
---
|
||||
title: "千字文 - 1/5"
|
||||
date: "2019-08-15"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 雲騰致雨,露結為霜。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/38642.gif" )
|
||||
figcaption.text-center yun2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/39472.gif" )
|
||||
figcaption.text-center teng2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/33268.gif" )
|
||||
figcaption.text-center zhi4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/38632.gif" )
|
||||
figcaption.text-center yu3
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/38706.gif" )
|
||||
figcaption.text-center lu4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/32080.gif" )
|
||||
figcaption.text-center jie2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/28858.gif" )
|
||||
figcaption.text-center wei4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/38684.gif" )
|
||||
figcaption.text-center shuang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
风云 | fēngyún | weather / unstable situation
|
||||
白云 | báiyún | white cloud
|
||||
腾讯 (騰訊) | Téngxùn | Tencent see 騰訊控股有限公司|腾讯控股有限公司
|
||||
腾 | téng | to soar / to gallop / to prance / to turn over / to vacate / to clear
|
||||
奔腾 | Bēnténg | Pentium (microprocessor by Intel)
|
||||
奔腾 | bēnténg | (of waves) to surge forward / to roll on in waves / to gallop
|
||||
腾飞 | téngfēi | lit. to fly upwards swiftly / fig. rapid advance / rapidly developing (situation)
|
||||
折腾 | zhēteng | to toss from side to side (e.g. sleeplessly) / to repeat sth over and over again / to torment sb / to play crazy / to squander (time, money)
|
||||
图腾 | túténg | totem (loanword)
|
||||
一致 | yīzhì | unanimous / identical (views or opinions)
|
||||
致力 | zhìlì | to work for / to devote one's efforts to
|
||||
致 (緻) | zhì | fine / delicate
|
||||
致 | zhì | to send / to devote / to deliver / to cause / to convey
|
||||
导致 (導致) | dǎozhì | to lead to / to create / to cause / to bring about
|
||||
致辞 (致辭) | zhìcí | to express in words or writing / to make a speech (esp. short introduction, vote of thanks, afterword, funeral homily etc) / to address (an audience) / same as 致詞|致词
|
||||
精致 (精緻) | jīngzhì | delicate / fine / exquisite / refined
|
||||
致命 | zhìmìng | fatal / mortal / deadly / to sacrifice one's life
|
||||
细致 (細緻) | xìzhì | delicate / fine / careful / meticulous / painstaking
|
||||
致敬 | zhìjìng | to greet / to pay respects to
|
||||
下雨 | xiàyǔ | to rain
|
||||
风雨 | fēngyǔ | wind and rain / the elements / trials and hardships
|
||||
暴雨 | bàoyǔ | torrential rain / rainstorm / CL: 場|场, 陣|阵
|
||||
烟雨 (煙雨) | yānyǔ | misty rain / drizzle
|
||||
雨伞 (雨傘) | yǔsǎn | umbrella / CL: 把
|
||||
降雨 | jiàngyǔ | precipitation / rainfall
|
||||
雷阵雨 | léizhènyǔ | thunder shower
|
||||
结构 (結構) | jiégòu | structure / composition / makeup / architecture / CL: 座, 個|个
|
||||
结果 | jiēguǒ | to bear fruit / CL: 個|个
|
||||
结果 | jiéguǒ | outcome / result / conclusion / in the end / as a result / to kill / to dispatch
|
||||
结合 | jiéhé | to combine / to link / to integrate / binding / CL: 次
|
||||
结束 | jiéshù | termination / to finish / to end / to conclude / to close
|
||||
总结 (總結) | zǒngjié | to sum up / to conclude / summary / résumé / CL: 個|个
|
||||
结婚 | jiéhūn | to marry / to get married / CL: 次
|
||||
结算 | jiésuàn | to settle a bill / to close an account
|
||||
结局 | jiéjú | conclusion / ending
|
||||
成为 | chéngwéi | to become / to turn into
|
||||
行为 | xíngwéi | action / conduct / behavior / activity
|
||||
为什么 | wèishénme | why? / for what reason?
|
||||
因为 | yīnwèi | because / owing to / on account of
|
||||
华为 (華為) | Huáwéi | Huawei (brand)
|
||||
为何 | wèihé | why
|
||||
作为 | zuòwéi | one's conduct / deed / activity / accomplishment / achievement / to act as / as (in the capacity of) / qua / to view as / to look upon (sth as) / to take sth to be
|
||||
为了 | wèile | in order to / for the purpose of / so as to
|
||||
分为 | fēnwéi | to divide sth into (parts) / to subdivide
|
||||
为准 | wéizhǔn | to serve as the norm / ...shall prevail (as standard for rules, regulations, price etc)
|
||||
面霜 | miànshuāng | facial cream (cosmetics)
|
||||
眼霜 | yǎnshuāng | eye cream
|
||||
风霜 | fēngshuāng | wind and frost / fig. hardships
|
||||
冰霜 | bīngshuāng | moral integrity / austerity
|
||||
防晒霜 (防曬霜) | fángshàishuāng | suntan lotion / sunscreen cream
|
||||
雪上加霜 | xuěshàngjiāshuāng | to add hail to snow (idiom); one disaster on top of another / to make things worse in a bad situation
|
||||
隔离霜 (隔離霜) | gélíshuāng | pre-makeup cream / makeup base / foundation primer
|
||||
披露 | pīlù | to reveal / to publish / to make public / to announce
|
||||
露 | lòu | to show / to reveal / to betray / to expose
|
||||
露 | lù | dew / syrup / nectar / outdoors (not under cover) / to show / to reveal / to betray / to expose
|
||||
透露 | tòulù | to leak out / to divulge / to reveal
|
||||
泄露 | xièlù | to leak (information) / to divulge / also pr. [xie4 lou4]
|
||||
露营 (露營) | lùyíng | to camp out / camping
|
||||
@@ -0,0 +1,95 @@
|
||||
---
|
||||
title: "千字文 - 1/6"
|
||||
date: "2019-08-16"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 金生麗水,玉出崑岡。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/37329.gif" )
|
||||
figcaption.text-center jin1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/29983.gif" )
|
||||
figcaption.text-center sheng1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/40599.gif" )
|
||||
figcaption.text-center li4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27700.gif" )
|
||||
figcaption.text-center shui3
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/29577.gif" )
|
||||
figcaption.text-center yu4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20986.gif" )
|
||||
figcaption.text-center chu1
|
||||
figure.d-inline-block
|
||||
.hanzi-img 崑
|
||||
figcaption.text-center kun1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/23713.gif" )
|
||||
figcaption.text-center gang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
资金 | zījīn | funds / funding / capital
|
||||
基金 | jījīn | fund
|
||||
黄金 (黃金) | huángjīn | gold / golden (opportunity) / prime (time)
|
||||
金属 (金屬) | jīnshǔ | metal / CL: 種|种
|
||||
公积金 (公積金) | gōngjījīn | official reserves / accumulated fund
|
||||
金额 (金額) | jīn'é | sum of money / monetary value
|
||||
金币 (金幣) | jīnbì | gold coin
|
||||
五金 | wǔjīn | metal hardware (nuts and bolts) / the five metals: gold, silver, copper, iron and tin 金銀銅鐵錫|金银铜铁锡
|
||||
生产 (生產) | shēngchǎn | to produce / to manufacture / to give birth to a child
|
||||
招生 | zhāoshēng | to enroll new students / to get students
|
||||
本科生 | běnkēshēng | undergraduate student
|
||||
卫生 (衛生) | wèishēng | health / hygiene / sanitation
|
||||
发生 (發生) | fāshēng | to happen / to occur / to take place / to break out
|
||||
生活 | shēnghuó | life / activity / to live / livelihood
|
||||
学生 (學生) | xuésheng | student / schoolchild
|
||||
生态 (生態) | shēngtài | ecology
|
||||
美丽 (美麗) | měilì | beautiful
|
||||
华丽 (華麗) | huálì | gorgeous
|
||||
高丽 (高麗) | Gāolí | Korean Goryeo dynasty, 918-1392 / Korea, esp. in context of art and culture
|
||||
艳丽 (艷麗) | yànlì | gorgeous / garish and beautiful
|
||||
水平 | shuǐpíng | level (of achievement etc) / standard / horizontal
|
||||
水利 | shuǐlì | water conservancy / irrigation works
|
||||
水果 | shuǐguǒ | fruit / CL: 個|个
|
||||
水电 (水電) | shuǐdiàn | hydroelectric power / plumbing and electricity
|
||||
防水 | fángshuǐ | waterproof
|
||||
热水 (熱水) | rèshuǐ | hot water
|
||||
水晶 | shuǐjīng | crystal
|
||||
玉米 | yùmǐ | corn / maize / CL: 粒
|
||||
出口 | chūkǒu | an exit / CL: 個|个 / to speak / to export / (of a ship) to leave port
|
||||
出游 (出遊) | chūyóu | to go on a tour / to have an outing
|
||||
提出 | tíchū | to raise (an issue) / to propose / to put forward / to suggest / to post (on a website) / to withdraw (cash)
|
||||
出现 (出現) | chūxiàn | to appear / to arise / to emerge / to show up
|
||||
出来 (出來) | chūlái | to come out / to appear / to arise
|
||||
出来 (出來) | chulai | (after a verb, indicates coming out, completion of an action, or ability to discern or detect)
|
||||
出版 | chūbǎn | to publish
|
||||
退出 | tuìchū | to withdraw / to abort / to quit / to log out (computing)
|
||||
昆山 (崑山) | Kūnshān | Kunshan county level city in Suzhou 蘇州|苏州, Jiangsu
|
||||
昆仑 (崑崙) | Kūnlún | Kunlun (Karakorum) mountain range in Xinjiang
|
||||
山冈 (山岡) | shāngāng | mound / small hill
|
||||
@@ -0,0 +1,100 @@
|
||||
---
|
||||
title: "千字文 - 1/7"
|
||||
date: "2019-08-17"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 劍號巨闕,珠稱夜光。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21133.gif" )
|
||||
figcaption.text-center jian4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/34399.gif" )
|
||||
figcaption.text-center hao4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24040.gif" )
|
||||
figcaption.text-center ju4
|
||||
figure.d-inline-block
|
||||
.hanzi-img 闕
|
||||
figcaption.text-center que4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/29664.gif" )
|
||||
figcaption.text-center zhu1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/31281.gif" )
|
||||
figcaption.text-center cheng1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22812.gif" )
|
||||
figcaption.text-center ye4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20809.gif" )
|
||||
figcaption.text-center guang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
刀剑 (刀劍) | dāojiàn | sword
|
||||
剑桥 (劍橋) | Jiànqiáo | Cambridge
|
||||
利剑 (利劍) | lìjiàn | sharp sword
|
||||
剑道 (劍道) | jiàndào | kendō (sports)
|
||||
账号 (賬號) | zhànghào | account / username
|
||||
号码 (號碼) | hàomǎ | number / CL: 堆, 個|个
|
||||
编号 (編號) | biānhào | to number / numbering / serial number
|
||||
型号 (型號) | xínghào | model (particular version of a manufactured article) / type (product specification in terms of color, size etc)
|
||||
巨大 | jùdà | huge / immense / very large / tremendous / gigantic / enormous
|
||||
巨人 | jùrén | giant
|
||||
巨头 (巨頭) | jùtóu | tycoon / magnate / big player (including company, country, school etc) / big shot
|
||||
巨蟹 | Jùxiè | Cancer (star sign)
|
||||
巨蟒 | jùmǎng | python
|
||||
巨型 | jùxíng | giant / enormous
|
||||
阙 (闕) | quē | used in place of 缺 (old) / mistake
|
||||
阙 (闕) | què | Imperial city watchtower (old) / fault / deficiency
|
||||
宫阙 (宮闕) | gōngquè | palace
|
||||
城阙 (城闕) | chéngquè | watchtower on either side of a city gate / (literary) city / imperial palace
|
||||
金阙 (金闕) | jīnquè | the imperial palace
|
||||
珠宝 (珠寶) | zhūbǎo | pearls / jewels / precious stones
|
||||
珍珠 | zhēnzhū | pearl / CL: 顆|颗
|
||||
明珠 | míngzhū | pearl / jewel (of great value)
|
||||
简称 (簡稱) | jiǎnchēng | to be abbreviated to / abbreviation / short form
|
||||
名称 (名稱) | míngchēng | name (of a thing) / name (of an organization)
|
||||
称 (稱) | chèn | to fit / balanced / suitable
|
||||
称 (稱) | chēng | to weigh / to state / to name / name / appellation / to praise
|
||||
职称 (職稱) | zhíchēng | one's professional position / title / job title
|
||||
人称 (人稱) | rénchēng | person (first person, second person etc in grammar) / called / known as
|
||||
称为 (稱為) | chēngwéi | called / to call sth (by a name) / to name
|
||||
夜间 (夜間) | yèjiān | nighttime / evening or night (e.g. classes)
|
||||
夜晚 | yèwǎn | night / CL: 個|个
|
||||
深夜 | shēnyè | very late at night
|
||||
午夜 | wǔyè | midnight
|
||||
黑夜 | hēiyè | night
|
||||
夜色 | yèsè | night scene / the dim light of night
|
||||
夜景 | yèjǐng | nightscape
|
||||
熬夜 | áoyè | to stay up late or all night
|
||||
阳光 (陽光) | yángguāng | sunshine / CL: 線|线 / transparent (open to public scrutiny)
|
||||
时光 (時光) | shíguāng | time / era / period of time
|
||||
光明 | guāngmíng | light / radiance / (fig.) bright (prospects etc) / openhearted
|
||||
光电 (光電) | guāngdiàn | photoelectric
|
||||
风光 (風光) | fēngguāng | scene / view / sight / landscape / to be well-regarded / to be well-off / grand (dialect) / impressive (dialect)
|
||||
曝光 | bàoguāng | to expose (photography) / (fig.) to expose (a scandal) / (advertising) exposure / Taiwan pr. [pu4 guang1]
|
||||
激光 | jīguāng | laser
|
||||
@@ -0,0 +1,108 @@
|
||||
---
|
||||
title: "千字文 - 1/8"
|
||||
date: "2019-08-18"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 果珍李柰,菜重芥薑。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26524.gif" )
|
||||
figcaption.text-center guo3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/29645.gif" )
|
||||
figcaption.text-center zhen1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26446.gif" )
|
||||
figcaption.text-center li3
|
||||
figure.d-inline-block
|
||||
.hanzi-img 柰
|
||||
figcaption.text-center nai4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/33756.gif" )
|
||||
figcaption.text-center cai4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/37325.gif" )
|
||||
figcaption.text-center zhong4
|
||||
figure.d-inline-block
|
||||
.hanzi-img 柰
|
||||
figcaption.text-center jie4
|
||||
figure.d-inline-block
|
||||
.hanzi-img 薑
|
||||
figcaption.text-center jiang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
如果 | rúguǒ | if / in case / in the event that
|
||||
结果 (結果) | jiēguǒ | to bear fruit / CL: 個|个
|
||||
结果 (結果) | jiéguǒ | outcome / result / conclusion / in the end / as a result / to kill / to dispatch
|
||||
效果 | xiàoguǒ | result / effect / quality / CL: 個|个
|
||||
成果 | chéngguǒ | result / achievement / gain / profit / CL: 個|个
|
||||
苹果 (蘋果) | píngguǒ | apple / CL: 個|个, 顆|颗
|
||||
珍珠 | zhēnzhū | pearl / CL: 顆|颗
|
||||
珍惜 | zhēnxī | to treasure / to value / to cherish
|
||||
珍爱 (珍愛) | zhēn'ài | to cherish
|
||||
珍贵 (珍貴) | zhēnguì | precious
|
||||
珍藏 | zhēncáng | collection / to collect (valuables)
|
||||
珍稀 | zhēnxī | rare / precious and uncommon
|
||||
珍品 | zhēnpǐn | valuable object / curio
|
||||
行李 | xíngli | luggage / CL: 件
|
||||
李子 | lǐzi | plum / CL: 個|个
|
||||
柰 | nài | crab-apple / how can one help
|
||||
菜单 (菜單) | càidān | menu / CL: 份, 張|张
|
||||
蔬菜 | shūcài | vegetables / CL: 種|种
|
||||
白菜 | báicài | Chinese cabbage / pak choi / CL: 棵, 個|个
|
||||
菜鸟 | càiniǎo | (coll.) sb new to a particular subject / rookie / beginner / newbie
|
||||
重新 | chóngxīn | again / once more / re-
|
||||
重点 (重點) | chóngdiǎn | to recount (e.g. results of election) / to re-evaluate
|
||||
重点 (重點) | zhòngdiǎn | important point / main point / focus / key (project etc) / to focus on / to put the emphasis on
|
||||
重大 | zhòngdà | great / important / major / significant
|
||||
重要 | zhòngyào | important / significant / major
|
||||
严重 (嚴重) | yánzhòng | grave / serious / severe / critical
|
||||
重复 (重複|重覆) | chóngfù | to repeat / to duplicate / CL: 個|个
|
||||
重生 | chóngshēng | rebirth
|
||||
重视 (重視) | zhòngshì | to attach importance to sth / to value
|
||||
隆重 | lóngzhòng | grand / prosperous / ceremonious / solemn
|
||||
注重 | zhùzhòng | to pay attention to / to emphasize
|
||||
重置 | chóngzhì | to reset / reset / replacement
|
||||
郑重 | zhèngzhòng | serious / solemn
|
||||
菜谱 (菜譜) | càipǔ | menu (in restaurant) / recipe / cookbook
|
||||
菜单栏 (菜單欄) | càidānlán | menu bar (computing)
|
||||
韭菜 | jiǔcài | garlic chives (Allium tuberosum), aka Chinese chives / (fig.) retail investors who lose their money to more experienced operators (i.e. they are "harvested" like garlic chives)
|
||||
菠菜 | bōcài | spinach / CL: 棵
|
||||
芥末 | jièmo | mustard / wasabi
|
||||
芥 | jiè | mustard
|
||||
芥菜 | jiècài | leaf mustard (Brassica juncea) / also pr. [gai4 cai4]
|
||||
荆芥 (荊芥) | jīngjiè | schizonepeta, herb used in Chinese medicine
|
||||
芥蒂 | jièdì | an obstruction / barrier / ill-feeling / grudge
|
||||
芥蓝 (芥藍) | gàilán | Chinese broccoli / Chinese kale / cabbage mustard / Brassica oleracea var. alboglabra / also pr. [jie4 lan2]
|
||||
芥子气 (芥子氣) | jièzǐqì | mustard gas
|
||||
芥菜籽 | jiècàizǐ | mustard seed
|
||||
青芥辣 | qīngjièlà | horseradish / wasabi / green mustard
|
||||
拾芥 | shíjiè | to pick up cress / fig. sth easy to do / a piece of cake
|
||||
生姜 (生薑) | shēngjiāng | fresh ginger
|
||||
姜黄 (薑黃) | jiānghuáng | turmeric
|
||||
干姜 (乾薑) | gānjiāng | dried ginger
|
||||
姜汁 (薑汁) | jiāngzhī | ginger ale
|
||||
仔姜 (仔薑) | zǐjiāng | stem ginger
|
||||
@@ -0,0 +1,110 @@
|
||||
---
|
||||
title: "千字文 - 1/9"
|
||||
date: "2019-08-19"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 海咸河淡,鱗潛羽翔。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/28023.gif" )
|
||||
figcaption.text-center hai3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21688.gif" )
|
||||
figcaption.text-center xian2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27827.gif" )
|
||||
figcaption.text-center he2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/28129.gif" )
|
||||
figcaption.text-center dan4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
.hanzi-img 鱗
|
||||
figcaption.text-center lin2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/28507.gif" )
|
||||
figcaption.text-center qian2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/32701.gif" )
|
||||
figcaption.text-center yu3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/32724.gif" )
|
||||
figcaption.text-center xiang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
海报 (海報) | hǎibào | poster / playbill / notice
|
||||
海外 | hǎiwài | overseas / abroad
|
||||
海洋 | hǎiyáng | ocean / CL: 個|个
|
||||
海口 | hǎikǒu | estuary / coastal inlet / river mouth / seaport / see also 誇海口|夸海口
|
||||
海关 (海關) | hǎiguān | customs (i.e. border crossing inspection) / CL: 個|个
|
||||
南海 | Nán Hǎi | South China Sea
|
||||
海绵 (海綿) | hǎimián | sponge (zoology) / sponge (piece of absorbent material, either natural or made from plastic etc) / foam rubber
|
||||
航海 | hánghǎi | sailing / navigation / voyage by sea
|
||||
海贼 (海賊) | hǎizéi | pirate
|
||||
海鲜 (海鮮) | hǎixiān | seafood
|
||||
咸鱼 (鹹魚) | xiányú | salted fish
|
||||
咸 | xián | all / everyone / each / widespread / harmonious
|
||||
咸 (鹹) | xián | salted / salty / stingy / miserly
|
||||
咸水 (鹹水) | xiánshuǐ | salt water / brine
|
||||
咸鸭蛋 (鹹鴨蛋) | xiányādàn | salted duck egg
|
||||
咸菜 (鹹菜) | xiáncài | salted vegetables / pickles
|
||||
黄河 (黃河) | Huáng Hé | Yellow River or Huang He
|
||||
银河 (銀河) | Yínhé | Milky Way / our galaxy
|
||||
天河 | Tiānhé | Milky Way / Tianhe district of Guangzhou city 廣州市|广州市, Guangdong
|
||||
河流 | héliú | river / CL: 條|条
|
||||
淡 | dàn | insipid / diluted / weak / mild / light in color / tasteless / fresh / indifferent / nitrogen
|
||||
淡定 | dàndìng | calm and collected / unperturbed
|
||||
平淡 | píngdàn | flat / dull / ordinary / nothing special
|
||||
淡化 | dànhuà | to water down / to play down / to trivialize / to weaken / to become dull with time / to desalinate / desalination
|
||||
淡淡 | dàndàn | faint / dim / dull / insipid / unenthusiastic / indifferent
|
||||
淡水 | dànshuǐ | potable water (water with low salt content) / fresh water
|
||||
淡雅 | dànyǎ | simple and elegant
|
||||
淡出 | dànchū | to fade out (cinema) / to withdraw from (politics, acting etc) / to fade from (memory)
|
||||
清淡 | qīngdàn | light (of food, not greasy or strongly flavored) / insipid / slack (sales)
|
||||
暗淡 | àndàn | dark / dim (light) / dull (color) / drab / (fig.) gloomy / bleak
|
||||
惨淡 (慘淡) | cǎndàn | dark / gloomy / dismal / by painstaking effort
|
||||
淡漠 | dànmò | apathetic / indifferent / unsympathetic
|
||||
鳞 (鱗) | lín | scales (of fish)
|
||||
鳞片 (鱗片) | línpiàn | scale / fish scales
|
||||
鱼鳞 (魚鱗) | yúlín | fish scales
|
||||
鳞甲 (鱗甲) | línjiǎ | scale / plate of armor
|
||||
鳞状细胞癌 (鱗狀細胞癌) | línzhuàngxìbāo'ái | squamous cell carcinoma
|
||||
遍体鳞伤 (遍體鱗傷) | biàntǐlínshāng | covered all over with cuts and bruises / beaten black and blue / be a mass of bruises
|
||||
鳞状 (鱗狀) | línzhuàng | scaly / squamous
|
||||
潜力 (潛力) | qiánlì | potential / capacity
|
||||
潜 (潛) | qián | hidden / secret / latent / to hide / to conceal / to submerge / to dive
|
||||
潜水 (潛水) | qiánshuǐ | to dive / to go under water / lurker (Internet slang for sb who reads forum posts but never replies)
|
||||
潜能 (潛能) | qiánnéng | potential / hidden capability
|
||||
潜在 (潛在) | qiánzài | hidden / potential / latent
|
||||
潜艇 (潛艇) | qiántǐng | submarine
|
||||
羽毛 | yǔmáo | feather / plumage / plume
|
||||
关羽 (關羽) | Guān Yǔ | Guan Yu (-219), general of Shu and blood-brother of Liu Bei in Romance of the Three Kingdoms, fearsome fighter famous for virtue and loyalty / posthumously worshipped and identified with the guardian Bodhisattva Sangharama
|
||||
羽绒 (羽絨) | yǔróng | down (soft feathers)
|
||||
羽翼 | yǔyì | wing / (fig.) assistant
|
||||
羽化 | yǔhuà | levitation (of Daoist immortal) / to become as light as a feather and ascend to heaven / (in Daoism) to become immortal / to die / of winged insects, to emerge from the cocoon in adult form / eclosion
|
||||
翔 | xiáng | to soar / to glide / variant of 詳|详
|
||||
飞翔 (飛翔) | fēixiáng | to circle in the air / to soar
|
||||
翱翔 | áoxiáng | to soar / to wheel about in the sky
|
||||
滑翔 | huáxiáng | to glide
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: "千字文 - 2/1"
|
||||
date: "2019-08-20"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 龍師火帝,鳥官人皇。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/40845.gif" )
|
||||
figcaption.text-center long2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24107.gif" )
|
||||
figcaption.text-center shi1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/28779.gif" )
|
||||
figcaption.text-center huo3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24093.gif" )
|
||||
figcaption.text-center di4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/40165.gif" )
|
||||
figcaption.text-center niao3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/23448.gif" )
|
||||
figcaption.text-center guan1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20154.gif" )
|
||||
figcaption.text-center ren2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/30343.gif" )
|
||||
figcaption.text-center huang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
官方 | guānfāng | government / official (approved or issued by an authority)
|
||||
官员 (官員) | guānyuán | official (in an organization or government) / administrator
|
||||
法官 | fǎguān | judge
|
||||
警官 | jǐngguān | constable / police officer
|
||||
感官 | gǎnguān | sense / sense organ
|
||||
指挥官 (指揮官) | zhǐhuīguān | commander
|
||||
收官 | shōuguān | final part of a go game (see 官子) / endgame / to finish up / to come to the final stage
|
||||
@@ -0,0 +1,120 @@
|
||||
---
|
||||
title: "千字文 - 2/2"
|
||||
date: "2019-08-21"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 始制文字,乃服衣裳。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22987.gif" )
|
||||
figcaption.text-center shi3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21046.gif" )
|
||||
figcaption.text-center zhi4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25991.gif" )
|
||||
figcaption.text-center wen2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/23383.gif" )
|
||||
figcaption.text-center zi4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20035.gif" )
|
||||
figcaption.text-center nai3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26381.gif" )
|
||||
figcaption.text-center fu2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/34915.gif" )
|
||||
figcaption.text-center yi1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/35059.gif" )
|
||||
figcaption.text-center chang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
开始 (開始) | kāishǐ | to begin / beginning / to start / initial / CL: 個|个
|
||||
始终 (始終) | shǐzhōng | from beginning to end / all along
|
||||
初始 | chūshǐ | initial / starting (point)
|
||||
创始 (創始) | chuàngshǐ | to initiate / to found
|
||||
控制 | kòngzhì | control / to exercise control over / to contain
|
||||
制造 (製造) | zhìzào | to manufacture / to make
|
||||
制作 (製作) | zhìzuò | to make / to manufacture
|
||||
制度 | zhìdù | system (e.g. political, adminstrative etc) / institution / CL: 個|个
|
||||
复制 (複製) | fùzhì | to duplicate / to make a copy of / to copy / to reproduce / to clone
|
||||
制品 (製品) | zhìpǐn | products / goods
|
||||
编制 (編制) | biānzhì | to establish (a unit or department) / staffing structure (excluding temporary and casual staff)
|
||||
编制 (編製) | biānzhì | to weave / to plait / to compile / to put together (a lesson plan, budget etc)
|
||||
强制 (強制) | qiángzhì | to enforce / enforcement / forcibly / compulsory
|
||||
法制 | fǎzhì | legal system and institutions
|
||||
法制 (法製) | Fǎzhì | made in France
|
||||
制药 (制藥) | zhìyào | to manufacture medicine
|
||||
限制 | xiànzhì | to restrict / to limit / to confine / restriction / limit / CL: 個|个
|
||||
文件 | wénjiàn | document / file / CL: 份
|
||||
英文 | Yīngwén | English (language)
|
||||
文字 | wénzì | character / script / writing / written language / writing style / phraseology / CL: 個|个
|
||||
文化 | wénhuà | culture / civilization / cultural / CL: 個|个, 種|种
|
||||
文章 | wénzhāng | article / essay / literary works / writings / hidden meaning / CL: 篇, 段, 頁|页
|
||||
文明 | wénmíng | civilized / civilization / culture / CL: 個|个
|
||||
文库 (文庫) | wénkù | collection of documents / library / book series / sequence of data, esp. genome
|
||||
文学 (文學) | wénxué | literature / CL: 種|种
|
||||
人文 | rénwén | humanities / human affairs / culture
|
||||
字符 | zìfú | character (computing)
|
||||
文字 | wénzì | character / script / writing / written language / writing style / phraseology / CL: 個|个
|
||||
名字 | míngzi | name (of a person or thing) / CL: 個|个
|
||||
数字 (數字) | shùzì | numeral / digit / number / figure / amount / digital (electronics etc) / CL: 個|个
|
||||
字典 | zìdiǎn | dictionary / character dictionary / CL: 本
|
||||
字母 | zìmǔ | letter (of the alphabet) / CL: 個|个
|
||||
字体 (字體) | zìtǐ | calligraphic style / typeface / font
|
||||
汉字 (漢字) | hànzì | Chinese character / CL: 個|个 / Japanese: kanji / Korean: hanja / Vietnamese: hán tự
|
||||
关键字 (關鍵字) | guānjiànzì | keyword
|
||||
字词 (字詞) | zìcí | letters or words / words or phrase
|
||||
数字化 (數字化) | shùzìhuà | to digitalize / digital
|
||||
写字楼 (寫字樓) | xiězìlóu | office building
|
||||
字号 (字號) | zìhào | characters and numbers (as used in a code) / alphanumeric code / serial number
|
||||
字号 (字號) | zìhao | character size / font size / fame / reputation / shop / name of a shop
|
||||
写字 (寫字) | xiězì | to write characters
|
||||
字幕 | zìmù | caption / subtitle
|
||||
字节 (字節) | zìjié | byte
|
||||
字符串 | zìfúchuàn | string (computer science)
|
||||
乃至 | nǎizhì | and even / to go so far as to
|
||||
木乃伊 | mùnǎiyī | mummy (preserved corpse) (loanword)
|
||||
乃是 | nǎishì | equivalent to either 是 or 就是
|
||||
康乃馨 | kāngnǎixīn | carnation or clove pink / Dianthus caryophyllus (botany)
|
||||
乃尔 (乃爾) | nǎi'ěr | thus / like this
|
||||
服务 (服務) | fúwù | to serve / service / CL: 項|项
|
||||
服务器 (服務器) | fúwùqì | server (computer) / CL: 臺|台
|
||||
服装 (服裝) | fúzhuāng | dress / clothing / costume / clothes / CL: 身
|
||||
衣服 | yīfu | clothes / CL: 件, 套
|
||||
服饰 (服飾) | fúshì | apparel / clothing and personal adornment
|
||||
服务业 (服務業) | fúwùyè | service industry
|
||||
伺服 | sìfú | servo (small electric motor) / computer server
|
||||
征服 | zhēngfú | to conquer / to subdue / to vanquish
|
||||
舒服 | shūfu | comfortable / feeling well
|
||||
内衣 (內衣) | nèiyī | undergarment / underwear / CL: 件
|
||||
衣柜 (衣櫃) | yīguì | wardrobe / armoire / CL: 個|个
|
||||
洗衣 | xǐyī | laundry
|
||||
连衣裙 (連衣裙) | liányīqún | woman's dress / frock / gown
|
||||
制衣 | zhìyī | clothing manufacture
|
||||
睡衣 | shuìyī | night clothes / pajamas
|
||||
卫衣 (衛衣) | wèiyī | sweatshirt
|
||||
成衣 | chéngyī | ready-made clothes
|
||||
穿衣 | chuānyī | to wear clothes / clothing
|
||||
上衣 | shàngyī | jacket / upper outer garment / CL: 件
|
||||
大衣 | dàyī | overcoat / topcoat / cloak / CL: 件
|
||||
裳 | cháng | lower garment / skirts / petticoats / garments
|
||||
霓裳 | Nícháng | Nichang, abbr. for the Tang Dynasty song "Raiment of Rainbows and Feathers" 霓裳羽衣曲 or 霓裳羽衣舞
|
||||
霓裳 | nícháng | nichang, rainbow colored clothes worn by the Eight Immortals 八仙
|
||||
衣裳 | yīshang | clothes
|
||||
衣裳钩儿 (衣裳鈎兒) | yīshanggōur | clothes hook
|
||||
@@ -0,0 +1,111 @@
|
||||
---
|
||||
title: "千字文 - 2/3"
|
||||
date: "2019-08-23"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 推位讓國,有虞陶唐。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25512.gif" )
|
||||
figcaption.text-center tui1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20301.gif" )
|
||||
figcaption.text-center wei4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/35731.gif" )
|
||||
figcaption.text-center rang4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22283.gif" )
|
||||
figcaption.text-center guo2
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26377.gif" )
|
||||
figcaption.text-center you3
|
||||
figure.d-inline-block
|
||||
.hanzi-img 虞
|
||||
figcaption.text-center fu2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/38518.gif" )
|
||||
figcaption.text-center tao2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21776.gif" )
|
||||
figcaption.text-center tang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
推荐 (推薦) | tuījiàn | to recommend / recommendation
|
||||
推广 (推廣) | tuīguǎng | to extend / to spread / to popularize / generalization / promotion (of a product etc)
|
||||
推动 (推動) | tuīdòng | to push (for acceptance of a plan) / to push forward / to promote / to actuate / CL: 個|个
|
||||
推进 (推進) | tuījìn | to impel / to carry forward / to push on / to advance / to drive forward
|
||||
推 | tuī | to push / to cut / to refuse / to reject / to decline / to shirk (responsibility) / to put off / to delay / to push forward / to nominate / to elect / massage
|
||||
推出 | tuīchū | to push out / to release / to launch / to publish / to recommend
|
||||
推理 | tuīlǐ | reasoning / inference / to infer / to deduce
|
||||
推介 | tuījiè | promotion / to promote / to introduce and recommend
|
||||
推行 | tuīxíng | to put into effect / to carry out
|
||||
单位 (單位) | dānwèi | unit (of measure) / unit (group of people as a whole) / work unit (place of employment, esp. in the PRC prior to economic reform) / CL: 個|个
|
||||
地位 | dìwèi | position / status / place / CL: 個|个
|
||||
位置 | wèizhi | position / place / seat / CL: 個|个
|
||||
位 | wèi | position / location / place / seat / classifier for people (honorific) / classifier for binary bits (e.g. 十六位 16-bit or 2 bytes) / (physics) potential
|
||||
定位 | dìngwèi | to orientate / to position / to categorize (as) / to characterize (as) / positioning / position / niche
|
||||
学位 (學位) | xuéwèi | academic degree / place in school
|
||||
岗位 (崗位) | gǎngwèi | a post / a job
|
||||
位于 (位於) | wèiyú | to be located at / to be situated at / to lie
|
||||
各位 | gèwèi | everybody / all (guests, colleagues etc) / all of you
|
||||
职位 (職位) | zhíwèi | post / office / position
|
||||
方位 | fāngwèi | direction / points of the compass / bearing / position / azimuth
|
||||
让 (讓) | ràng | to yield / to permit / to let sb do sth / to have sb do sth / to make sb (feel sad etc) / by (indicates the agent in a passive clause, like 被)
|
||||
转让 (轉讓) | zhuǎnràng | to transfer (ownership, rights etc)
|
||||
让球 (讓球) | ràngqiú | to concede points (in a game)
|
||||
出让 (出讓) | chūràng | to transfer (one's property or rights to sb else)
|
||||
礼让 (禮讓) | lǐràng | to show consideration for (others) / to yield to (another vehicle etc) / courtesy / comity
|
||||
让步 (讓步) | ràngbù | to concede / to give in / to yield / a concession / (linguistics) concessive
|
||||
避让 (避讓) | bìràng | to avoid / to yield (in traffic) / to get out of the way
|
||||
国际 (國際) | guójì | international
|
||||
国家 (國家) | guójiā | country / nation / state / CL: 個|个
|
||||
国内 (國內) | guónèi | domestic / internal (to a country) / civil
|
||||
中国 (中國) | Zhōngguó | China
|
||||
王国 (王國) | wángguó | kingdom / realm
|
||||
开国 (開國) | kāiguó | to found a state / to open a closed country
|
||||
版权所有 (版權所有) | bǎnquánsuǒyǒu | all rights reserved (copyright statement)
|
||||
有限 | yǒuxiàn | limited / finite
|
||||
有限公司 | yǒuxiàngōngsī | limited company / corporation
|
||||
拥有 (擁有) | yōngyǒu | to have / to possess
|
||||
虞 | yú | to expect / to anticipate / to worry / to cheat
|
||||
尔虞我诈 (爾虞我詐) | ěryúwǒzhà | lit. you hoodwink me and I cheat you (idiom); fig. mutual deception / each tries to outwit the other / dog eats dog and devil take the hindmost
|
||||
无虞 (無虞) | wúyú | not to be worried about / all taken care of
|
||||
安全无虞 (安全無虞) | ānquánwúyú | safe and secure
|
||||
有效 | yǒuxiào | effective / in effect / valid
|
||||
所有 | suǒyǒu | all / to have / to possess / to own
|
||||
陶瓷 | táocí | pottery and porcelain / ceramics
|
||||
陶 | táo | pottery / pleased
|
||||
陶艺 (陶藝) | táoyì | ceramic art
|
||||
陶醉 | táozuì | to be infatuated with / to be drunk with / to be enchanted with / to revel in
|
||||
熏陶 (薰陶) | xūntáo | to seep in / to influence / to nurture / influence / training
|
||||
陶器 | táoqì | pottery
|
||||
陶冶 | táoyě | lit. to fire pots and smelt metal / fig. to educate
|
||||
唐 | Táng | Tang dynasty (618-907) / surname Tang
|
||||
唐 | táng | to exaggerate / empty / in vain / old variant of 螗
|
||||
唐诗 (唐詩) | Tángshī | Tang poetry / a Tang poem
|
||||
唐人街 | Tángrén Jiē | Chinatown / CL: 條|条, 座
|
||||
荒唐 | huāngtáng | beyond belief / preposterous / absurd / intemperate / dissipated
|
||||
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "千字文 - 2/4"
|
||||
date: "2019-08-27"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 弔民伐罪,周發殷湯。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24340.gif" )
|
||||
figcaption.text-center diao1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27665.gif" )
|
||||
figcaption.text-center min2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20240.gif" )
|
||||
figcaption.text-center fa2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/32618.gif" )
|
||||
figcaption.text-center zui4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21608.gif" )
|
||||
figcaption.text-center zhou1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/30332.gif" )
|
||||
figcaption.text-center fa1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27575.gif" )
|
||||
figcaption.text-center yin1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/28271.gif" )
|
||||
figcaption.text-center tang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
吊 (弔) | diào | a string of 100 cash (arch.) / to lament / to condole with / variant of 吊
|
||||
吊客 (弔客) | diàokè | a visitor offering condolences
|
||||
吊古 (弔古) | diàogǔ | to revisit the past / to commemorate
|
||||
吊诡 (弔詭) | diàoguǐ | bizarre / paradoxical / a paradox (from Daoist classic Zhuangzi 莊子|庄子)
|
||||
凭吊 (憑弔) | píngdiào | to visit a place for the memories / to pay homage to (the deceased)
|
||||
开吊 (開弔) | kāidiào | to hold memorial service / to hold a funeral
|
||||
吊孝 (弔孝) | diàoxiào | a condolence visit
|
||||
吊民伐罪 (弔民伐罪) | diàomínfázuì | to console the people and punish the tyrant
|
||||
民族 | mínzú | nationality / ethnic group / CL: 個|个
|
||||
民生 | mínshēng | people's livelihood / people's welfare
|
||||
人民网 (人民網) | Rénmínwǎng | online version of the People's Daily, 人民日報|人民日报
|
||||
移民 | yímín | to immigrate / to migrate / emigrant / immigrant
|
||||
中华人民共和国 (中華人民共和國) | Zhōnghuá Rénmín Gònghéguó | People's Republic of China
|
||||
全民 | quánmín | entire population (of a country)
|
||||
民政 | mínzhèng | civil administration
|
||||
伐 | fá | to cut down / to fell / to dispatch an expedition against / to attack / to boast / Taiwan pr. [fa1]
|
||||
步伐 | bùfá | pace / (measured) step / march
|
||||
伐木 | fámù | to cut wood / tree-felling / lumbering
|
||||
砍伐 | kǎnfá | to hew / to cut down
|
||||
讨伐 (討伐) | tǎofá | to suppress by armed force / to send a punitive expedition against / to crusade against
|
||||
采伐 (採伐) | cǎifá | to fell / to cut
|
||||
犯罪 | fànzuì | to commit a crime / crime / offense
|
||||
罪案 | zuì'àn | a criminal case
|
||||
罪 | zuì | guilt / crime / fault / blame / sin
|
||||
罪恶 (罪惡) | zuì'è | crime / evil / sin
|
||||
罪犯 | zuìfàn | criminal
|
||||
认罪 (認罪) | rènzuì | to admit guilt / to plead guilty
|
||||
无罪 (無罪) | wúzuì | innocent / guileless / not guilty (of crime)
|
||||
罪行 | zuìxíng | crime / offense
|
||||
下周 (下週) | xiàzhōu | next week
|
||||
周边 (周邊) | zhōubiān | periphery / rim / surroundings / all around / perimeter / peripheral (computing) / spin-offs
|
||||
周 | Zhōu | surname Zhou / Zhou Dynasty (1046-256 BC)
|
||||
周 | zhōu | to make a circuit / to circle / circle / circumference / lap / cycle / complete / all / all over / thorough / to help financially
|
||||
周 (週) | zhōu | week / weekly / variant of 周
|
||||
周年 (週年) | zhōunián | anniversary / annual
|
||||
周围 (周圍) | zhōuwéi | surroundings / environment / to encompass
|
||||
周期 (週期) | zhōuqī | period / cycle
|
||||
周末 (週末) | zhōumò | weekend
|
||||
发展 (發展) | fāzhǎn | development / growth / to develop / to grow / to expand
|
||||
发布 (發佈) | fābù | to release / to issue / to announce / to distribute / also written 發布|发布
|
||||
发布 (發布) | fābù | to release / to issue / to announce / to distribute
|
||||
开发 (開發) | kāifā | to exploit (a resource) / to open up (for development) / to develop
|
||||
发 (發) | fā | to send out / to show (one's feeling) / to issue / to develop / to make a bundle of money / classifier for gunshots (rounds)
|
||||
发现 (發現) | fāxiàn | to find / to discover
|
||||
发表 (發表) | fābiǎo | to issue / to publish
|
||||
发生 (發生) | fāshēng | to happen / to occur / to take place / to break out
|
||||
发行 (發行) | fāxíng | to publish / to issue (stocks, currency etc) / to release / to distribute (a film)
|
||||
开发区 (開發區) | kāifāqū | development zone
|
||||
批发 (批發) | pīfā | wholesale / bulk trade / distribution
|
||||
殷 | Yīn | surname Yin / dynasty name at the end the Shang dynasty, after their move to Yinxu 殷墟 in modern Henan province
|
||||
殷 | yān | dark red
|
||||
殷 | yīn | flourishing / abundant / earnest / hospitable
|
||||
殷 | yǐn | roll of thunder
|
||||
殷切 | yīnqiè | ardent / eager / earnest
|
||||
殷勤 | yīnqín | politely / solicitously / eagerly attentive
|
||||
殷殷 | yīnyīn | earnest / ardent (hope etc)
|
||||
献殷勤 (獻殷勤) | xiànyīnqín | to be particularly attentive to (an attractive young lady or man etc) / to fawn upon (an influential politician etc) / to court sb's favor / to ingratiate oneself
|
||||
殷红 (殷紅) | yānhóng | dark red
|
||||
殷实 (殷實) | yīnshí | thriving / well-off / substantial
|
||||
汤 (湯) | shāng | rushing current
|
||||
汤 (湯) | tāng | soup / hot or boiling water / decoction of medicinal herbs / water in which sth has been boiled
|
||||
汤姆 (湯姆) | Tāngmǔ | Tom (name)
|
||||
鸡汤 (雞湯) | jītāng | chicken stock / chicken soup / (fig.) chicken soup for the soul – i.e. feel-good motivational stories (often used disparagingly because the stories don't really effect change in people's lives)
|
||||
汤普森 (湯普森) | Tāngpǔsēn | Thompson (name)
|
||||
汤汁 (湯汁) | tāngzhī | soup / broth
|
||||
汤圆 (湯圓) | tāngyuán | boiled balls of glutinous rice flour, eaten during the Lantern Festival
|
||||
@@ -0,0 +1,115 @@
|
||||
---
|
||||
title: "千字文 - 2/5"
|
||||
date: "2019-08-29"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 坐朝問道,垂拱平章。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22352.gif" )
|
||||
figcaption.text-center zuo4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26397.gif" )
|
||||
figcaption.text-center zhao1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21839.gif" )
|
||||
figcaption.text-center wen4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/36947.gif" )
|
||||
figcaption.text-center dao4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22402.gif" )
|
||||
figcaption.text-center chui2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25329.gif" )
|
||||
figcaption.text-center gong3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24179.gif" )
|
||||
figcaption.text-center ping2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/31456.gif" )
|
||||
figcaption.text-center zhang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
坐标 (坐標) | zuòbiāo | coordinate (geometry)
|
||||
坐落 | zuòluò | to be situated / to be located (of a building)
|
||||
乘坐 | chéngzuò | to ride (in a vehicle)
|
||||
坐标系 (座標系) | zuòbiāoxì | coordinate system (geometry)
|
||||
坐骑 (坐騎) | zuòqí | saddle horse / mount
|
||||
坐垫 (坐墊) | zuòdiàn | cushion / (motorbike) seat / CL: 塊|块
|
||||
极坐标 (極座標) | jízuòbiāo | polar coordinates (math.)
|
||||
坐镇 (坐鎮) | zuòzhèn | (of a commanding officer) to keep watch / to oversee
|
||||
坐车 (坐車) | zuòchē | to take the car, bus, train etc
|
||||
朝 | cháo | imperial or royal court / government / dynasty / reign of a sovereign or emperor / court or assembly held by a sovereign or emperor / to make a pilgrimage to / facing / towards
|
||||
朝 | zhāo | morning
|
||||
朝阳 (朝陽) | cháoyáng | to be exposed to the sun / in a position facing the sun
|
||||
朝阳 (朝陽) | zhāoyáng | the morning sun
|
||||
朝鲜 (朝鮮) | Cháoxiǎn | North Korea / Korea as geographic term / Taiwan pr. [Chao2 xian1]
|
||||
朝着 (朝著) | cháozhe | facing / advancing (towards)
|
||||
唐朝 | Tángcháo | Tang dynasty (618-907)
|
||||
朝向 | cháoxiàng | toward / to face / to open onto / to turn towards / orientation / exposure / Qibla (Islam)
|
||||
问题 (問題) | wèntí | question / problem / issue / topic / CL: 個|个
|
||||
访问 (訪問) | fǎngwèn | to visit / to call on / to interview / CL: 次
|
||||
常见问题 (常見問題) | chángjiànwèntí | common problems / FAQ
|
||||
问答 (問答) | wèndá | question and answer
|
||||
顾问 (顧問) | gùwèn | adviser / consultant
|
||||
疑问 (疑問) | yíwèn | question / interrogation / doubt
|
||||
提问 (提問) | tíwèn | to question / to quiz / to grill
|
||||
追问 (追問) | zhuīwèn | to question closely / to investigate in detail / to examine minutely / to get to the heart of the matter
|
||||
问道 (問道) | wèndào | to ask the way / to ask
|
||||
具体问题 | jùtǐwèntí | concrete issue
|
||||
频道 (頻道) | píndào | frequency / (television) channel
|
||||
报道 (報道) | bàodào | to report (news) / report / CL: 篇, 份
|
||||
知道 | zhīdào | to know / to become aware of / also pr. [zhi1 dao5]
|
||||
有道 | yǒudào | to have attained the Way / (of a government or a ruler) enlightened / wise and just
|
||||
大道 | dàdào | main street / avenue
|
||||
道路 | dàolù | road / path / way / CL: 條|条
|
||||
渠道 | qúdào | irrigation ditch / (fig.) channel / means
|
||||
街道 | jiēdào | street / CL: 條|条 / subdistrict / residential district
|
||||
垂直 | chuízhí | perpendicular / vertical
|
||||
垂 | chuí | to hang (down) / droop / dangle / bend down / hand down / bequeath / nearly / almost / to approach
|
||||
垂钓 | chuídiào | angling
|
||||
垂柳 | chuíliǔ | weeping willow (Salix babylonica)
|
||||
垂下 | chuíxià | to hang down
|
||||
脱垂 (脫垂) | tuōchuí | prolapse
|
||||
垂直线 (垂直線) | chuízhíxiàn | vertical line
|
||||
永垂不朽 | yǒngchuíbùxiǔ | eternal glory / will never be forgotten
|
||||
下垂 | xiàchuí | to droop / to sag / to hang down / sagging / drooping / prolapse (medicine)
|
||||
拱 | gǒng | to cup one's hands in salute / to surround / to arch / to dig earth with the snout / arched
|
||||
拱形 | gǒngxíng | arch
|
||||
拱手 | gǒngshǒu | to cup one's hands in obeisance or greeting / (fig.) submissive
|
||||
拱门 (拱門) | gǒngmén | arched door
|
||||
斗拱 | dǒugǒng | interlocking wooden brackets between the top of a column and crossbeams used in traditional Chinese architecture
|
||||
拱桥 (拱橋) | gǒngqiáo | arch bridge
|
||||
拱顶 (拱頂) | gǒngdǐng | an arched roof / a dome / a vault
|
||||
打拱 | dǎgǒng | to bow with clasped hands
|
||||
水平 | shuǐpíng | level (of achievement etc) / standard / horizontal
|
||||
平台 (平臺) | píngtái | platform / terrace / flat-roofed building
|
||||
平房 | píngfáng | bungalow / single-story house
|
||||
平 | píng | flat / level / equal / to tie (make the same score) / to draw (score) / calm / peaceful / see also 平聲|平声
|
||||
平均 | píngjūn | average / on average / evenly / in equal proportions
|
||||
平安 | píng'ān | safe and sound / well / without mishap / quiet and safe / at peace
|
||||
习近平 (習近平) | Xí Jìnpíng | Xi Jinping (1953-), PRC politician, General Secretary of the CPC from 2012, president of the PRC from 2013
|
||||
章 | zhāng | chapter / section / clause / movement (of symphony) / seal / badge / regulation / order
|
||||
文章 | wénzhāng | article / essay / literary works / writings / hidden meaning / CL: 篇, 段, 頁|页
|
||||
简章 (簡章) | jiǎnzhāng | concise list of rules / brochure / pamphlet
|
||||
规章 (規章) | guīzhāng | rule / regulation
|
||||
章程 | zhāngchéng | rules / regulations / constitution / statute / articles of association (of company) / articles of incorporation / charter (of a corporation) / by-laws
|
||||
违章 (違章) | wéizhāng | to break the rules / to violate regulations
|
||||
章节 (章節) | zhāngjié | chapter / section
|
||||
徽章 | huīzhāng | badge / emblem / insignia / crest / logo / coat of arms
|
||||
勋章 (勛章) | xūnzhāng | medal / decoration
|
||||
盖章 (蓋章) | gàizhāng | to affix a seal / to stamp (a document) / to sign off on sth
|
||||
@@ -0,0 +1,106 @@
|
||||
---
|
||||
title: "千字文 - 2/6"
|
||||
date: "2019-08-30"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 愛育黎首,臣伏戎羌。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24859.gif" )
|
||||
figcaption.text-center ai4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/32946.gif" )
|
||||
figcaption.text-center yu4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/40654.gif" )
|
||||
figcaption.text-center li2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/39318.gif" )
|
||||
figcaption.text-center shou3
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/33251.gif" )
|
||||
figcaption.text-center chen2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20239.gif" )
|
||||
figcaption.text-center fu2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25102.gif" )
|
||||
figcaption.text-center rong2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/32652.gif" )
|
||||
figcaption.text-center qiang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
爱情 (愛情) | àiqíng | romance / love (romantic) / CL: 個|个, 份
|
||||
爱好 (愛好) | àihào | to like / to take pleasure in / keen on / fond of / interest / hobby / appetite for / CL: 個|个
|
||||
可爱 (可愛) | kě'ài | adorable / cute / lovely
|
||||
爱上 (愛上) | àishàng | to fall in love with / to be in love with
|
||||
爱心 (愛心) | àixīn | compassion / kindness / care for others / love / CL: 片 / charity (bazaar, golf day etc) / heart (the symbol ♥)
|
||||
爱国 (愛國) | àiguó | to love one's country / patriotic
|
||||
喜爱 (喜愛) | xǐ'ài | to like / to love / to be fond of / favorite
|
||||
恋爱 (戀愛) | liàn'ài | (romantic) love / CL: 個|个, 場|场 / in love / to have an affair
|
||||
爱好者 (愛好者) | àihàozhě | lover (of art, sports etc) / amateur / enthusiast / fan
|
||||
关爱 (關愛) | guān'ài | to show concern and care for
|
||||
体育 (體育) | tǐyù | sports / physical education
|
||||
教育 | jiàoyù | to educate / to teach / education
|
||||
生育 | shēngyù | to bear / to give birth / to grow / to rear / to bring up (children) / fertility
|
||||
体育运动 (體育運動) | tǐyùyùndòng | sports / physical culture
|
||||
育儿 (育兒) | yù'ér | to raise a child
|
||||
高等教育 | gāoděngjiàoyù | higher education
|
||||
培育 | péiyù | to train / to breed
|
||||
计划生育 (計劃生育) | jìhuàshēngyù | family planning
|
||||
发育 (發育) | fāyù | to develop / to mature / growth / development / (sexually) mature
|
||||
巴黎 | Bālí | Paris, capital of France
|
||||
黎 | lí | (literary) black / dark / many / multitude
|
||||
黎明 | límíng | dawn / daybreak
|
||||
首页 (首頁) | shǒuyè | home page (of a website) / title page / front page / first page / fig. beginning / cover letter
|
||||
首次 | shǒucì | first / first time / for the first time
|
||||
首 | shǒu | head / chief / first (occasion, thing etc) / classifier for poems, songs etc
|
||||
首先 | shǒuxiān | first (of all) / in the first place
|
||||
首都 | shǒudū | capital (city) / CL: 個|个
|
||||
首饰 (首飾) | shǒushì | jewelry / head ornament
|
||||
首届 (首屆) | shǒujiè | first session (of a conference etc)
|
||||
首选 (首選) | shǒuxuǎn | first choice / premium / to come first in the imperial examinations
|
||||
首席 | shǒuxí | chief (representative, correspondent etc)
|
||||
首发 (首發) | shǒufā | first issue / first public showing
|
||||
臣 | chén | state official or subject in dynastic China / I, your servant (used in addressing the sovereign) / Kangxi radical 131
|
||||
大臣 | dàchén | chancellor (of a monarchy) / cabinet minister
|
||||
功臣 | gōngchén | minister who has given outstanding service
|
||||
君臣 | jūnchén | a ruler and his ministers (old)
|
||||
奸臣 | jiānchén | a treacherous court official / a minister who conspires against the state
|
||||
忠臣 | zhōngchén | faithful official
|
||||
臣服 | chénfú | to acknowledge allegiance to (some regime) / to serve
|
||||
文臣 | wénchén | civilian court official (in former times)
|
||||
臣子 | chénzǐ | official in feudal court / subject
|
||||
伏 | fú | to lean over / to fall (go down) / to hide (in ambush) / to conceal oneself / to lie low / hottest days of summer / to submit / to concede defeat / to overcome / to subdue / volt
|
||||
光伏 | guāngfú | photovoltaic (e.g. cell)
|
||||
潜伏 (潛伏) | qiánfú | to hide / to cover up / to conceal
|
||||
千伏 | qiānfú | kilovolt
|
||||
伏 (伏筆) | fúbǐ | foreshadowing (literary device) / foretaste of material to come (in essay or story)
|
||||
伏安 | fú'ān | volt-ampere (measure of apparent power in alternating current circuits)
|
||||
伏地 | fúdì | to lie prostrate
|
||||
起伏 | qǐfú | to move up and down / to undulate / ups and downs
|
||||
戎 | róng | generic term for weapons (old) / army (matters) / military affairs
|
||||
戎装 (戎裝) | róngzhuāng | martial attire
|
||||
投笔从戎 (投筆從戎) | tóubǐcóngróng | to lay down the pen and take up the sword (idiom) / to join the military (esp. of educated person)
|
||||
戎马 (戎馬) | róngmǎ | military horse / by extension, military matters
|
||||
戎行 | róngháng | troops / military affairs
|
||||
戎机 (戎機) | róngjī | opportunity for a fight / war
|
||||
戎事 | róngshì | military affairs
|
||||
羌 | Qiāng | Qiang ethnic group of northwestern Sichuan / surname Qiang
|
||||
羌 | qiāng | muntjac / grammar particle indicating nonsense (classical)
|
||||
羌无故实 (羌無故實) | qiāngwúgùshí | to have no basis in fact (idiom)
|
||||
羌鹫 (羌鷲) | qiāngjiù | sea eagle / CL: 隻|只
|
||||
@@ -0,0 +1,113 @@
|
||||
---
|
||||
title: "千字文 - 2/7"
|
||||
date: "2019-09-01"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 遐邇一體,率賓歸王。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/36944.gif" )
|
||||
figcaption.text-center xia2
|
||||
figure.d-inline-block
|
||||
.hanzi-img 邇
|
||||
figcaption.text-center er3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/19968.gif" )
|
||||
figcaption.text-center yi1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/39636.gif" )
|
||||
figcaption.text-center ti3
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/29575.gif" )
|
||||
figcaption.text-center lu:4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/36051.gif" )
|
||||
figcaption.text-center bin1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27512.gif" )
|
||||
figcaption.text-center gui1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/29579.gif" )
|
||||
figcaption.text-center wang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
遐想 | xiáxiǎng | reverie / daydream / to be lost in wild and fanciful thoughts
|
||||
闻名遐迩 (聞名遐邇) | wénmíngxiá'ěr | to be famous far and wide (idiom)
|
||||
遐 | xiá | distant / long-lasting / to abandon
|
||||
遐思 | xiásī | to fancy from afar / reverie / wild and fanciful thoughts
|
||||
遐迩 (遐邇) | xiá'ěr | near and far / far and wide
|
||||
遐举 (遐舉) | xiájǔ | to go a long way away
|
||||
遐龄 (遐齡) | xiálíng | advanced age / longevity / long life
|
||||
遐迩闻名 (遐邇聞名) | xiá'ěrwénmíng | famous everywhere
|
||||
遐福 | xiáfú | great and lasting happiness / lasting blessings
|
||||
室迩人遐 (室邇人遐) | shì'ěrrénxiá | to long for sb far away / to grieve over the dead
|
||||
迩 (邇) | ěr | recently / near / close
|
||||
遐迩一体 (遐邇一體) | xiá'ěryītǐ | both near and distant treated alike (idiom)
|
||||
名驰遐迩 (名馳遐邇) | míngchíxiá'ěr | To have one's fame spread far and wide. (idiom)
|
||||
遐迩皆知 (遐邇皆知) | xiá'ěrjiēzhī | well-known far and near (idiom)
|
||||
体育 (體育) | tǐyù | sports / physical education
|
||||
体验 (體驗) | tǐyàn | to experience for oneself
|
||||
繁体 (繁體) | fántǐ | traditional form of Chinese, as opposed to simplified form 簡體|简体
|
||||
整体 (整體) | zhěngtǐ | whole entity / entire body / synthesis / as a whole (situation, construction, team etc) / global / macrocosm / integral / holistic / whole
|
||||
简体 (簡體) | jiǎntǐ | simplified form of Chinese characters, as opposed to traditional form 繁體|繁体
|
||||
体 (體) | tǐ | body / form / style / system / substance / to experience / aspect (linguistics)
|
||||
媒体 (媒體) | méitǐ | media, esp. news media
|
||||
体系 (體系) | tǐxì | system / setup / CL: 個|个
|
||||
效率 | xiàolǜ | efficiency
|
||||
率 | lǜ | rate / frequency
|
||||
率 | shuài | to lead / to command / rash / hasty / frank / straightforward / generally / usually
|
||||
市盈率 | shìyínglǜ | PE ratio
|
||||
分辨率 | fēnbiànlǜ | resolution (of images, monitors, scanners etc)
|
||||
功率 | gōnglǜ | rate of work / power (output)
|
||||
利率 | lìlǜ | interest rates
|
||||
概率 | gàilǜ | probability (math.)
|
||||
频率 (頻率) | pínlǜ | frequency
|
||||
汇率 (匯率) | huìlǜ | exchange rate
|
||||
比率 | bǐlǜ | ratio / rate / percentage
|
||||
嘉宾 (嘉賓) | jiābīn | esteemed guest / honored guest / guest (on a show)
|
||||
宾馆 (賓館) | bīnguǎn | guesthouse / lodge / hotel / CL: 個|个, 家
|
||||
来宾 (來賓) | láibīn | guest / visitor
|
||||
菲律宾 (菲律賓) | Fēilǜbīn | the Philippines
|
||||
宾 (賓) | bīn | visitor / guest / object (in grammar)
|
||||
贵宾 (貴賓) | guìbīn | honored guest / distinguished guest / VIP
|
||||
宾语 (賓語) | bīnyǔ | object (grammar)
|
||||
宾客 (賓客) | bīnkè | guests / visitors
|
||||
迎宾 (迎賓) | yíngbīn | to welcome a guest / to entertain a customer (of prostitute)
|
||||
归 (歸) | guī | to return / to go back to / to give back to / (of a responsibility) to be taken care of by / to belong to / to gather together / (used between two identical verbs) despite / to marry (of a woman) (old) / division on the abacus with a one-digit divisor
|
||||
回归 (回歸) | huíguī | to return to / to retreat / regression (statistics)
|
||||
归档 (歸檔) | guīdàng | to file away / to place on file
|
||||
归属 (歸屬) | guīshǔ | to belong to / to be affiliated to / to fall under the jurisdiction of / a place where one feels that one belongs / one's final destination (where one need look no further)
|
||||
海归 (海歸) | hǎiguī | sb who has come back to China after gaining overseas experience (a pun on 海龜|海龟) / to return to China after a period of study or work overseas
|
||||
归纳 (歸納) | guīnà | to sum up / to summarize / to conclude from facts / induction (method of deduction in logic)
|
||||
归口 (歸口) | guīkǒu | to return to one's original trade / to put (a business etc) under the administration of the relevant central authority / (the) relevant (department in charge of sth)
|
||||
归类 (歸類) | guīlèi | to classify / to categorize
|
||||
王子 | wángzǐ | prince / son of a king
|
||||
海贼王 (海賊王) | Hǎizéiwáng | One Piece (manga and anime)
|
||||
王牌 | wángpái | trump card
|
||||
霸王 | bàwáng | hegemon / overlord / despot
|
||||
大王 | dàwáng | king / magnate / person having expert skill in something
|
||||
大王 | dàiwang | robber baron (in opera, old stories) / magnate
|
||||
女王 | nǚwáng | queen
|
||||
@@ -0,0 +1,133 @@
|
||||
---
|
||||
title: "千字文 - 2/8"
|
||||
date: "2019-09-02"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 鳴鳳在竹,白駒食場。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/40180.gif" )
|
||||
figcaption.text-center ming2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/40179.gif" )
|
||||
figcaption.text-center feng4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22312.gif" )
|
||||
figcaption.text-center zai4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/31481.gif" )
|
||||
figcaption.text-center zhu2
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/30333.gif" )
|
||||
figcaption.text-center bai2
|
||||
figure.d-inline-block
|
||||
.hanzi-img 駒
|
||||
figcaption.text-center ju1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/39135.gif" )
|
||||
figcaption.text-center shi2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22580.gif" )
|
||||
figcaption.text-center chang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
鸣 (鳴) | míng | to cry (of birds, animals and insects)
|
||||
共鸣 (共鳴) | gòngmíng | resonance (physics) / sympathetic response to sth
|
||||
争鸣 (爭鳴) | zhēngmíng | to contend
|
||||
耳鸣 (耳鳴) | ěrmíng | tinnitus
|
||||
鸣谢 (鳴謝) | míngxiè | to express gratitude (esp. in public) / vote of thanks
|
||||
蜂鸣器 (蜂鳴器) | fēngmíngqì | buzzer
|
||||
奏鸣曲 (奏鳴曲) | zòumíngqǔ | sonata
|
||||
鸣笛 (鳴笛) | míngdí | to hoot / to whistle
|
||||
鸣叫 (鳴叫) | míngjiào | to emit a sound / (of birds, insects etc) to chirp, hoot etc / (of a siren, steam whistle etc) to sound
|
||||
蝉鸣 (蟬鳴) | chánmíng | song of cicadas / chirping of insects
|
||||
雷鸣 (雷鳴) | léimíng | thunder rolls
|
||||
凤凰 (鳳凰) | fènghuáng | phoenix
|
||||
龙凤 (龍鳳) | lóngfèng | dragon and phoenix
|
||||
丹凤 (丹鳳) | dānfèng | red phoenix
|
||||
凤爪 (鳳爪) | fèngzhǎo | chicken feet (cuisine)
|
||||
凤梨 (鳳梨) | fènglí | pineapple
|
||||
凤仙花 (鳳仙花) | fèngxiānhuā | balsam / Balsaminaceae (a flower family including Impatiens balsamina) / touch-me-not / busy Lizzie
|
||||
望女成凤 (望女成鳳) | wàngnǚchéngfèng | lit. to hope one's daughter becomes a phoenix (idiom) / fig. to hope one's daughter is a success in life
|
||||
凤眼 (鳳眼) | fèngyǎn | elegant, almond-shaped eyes with the inner canthus pointing down and the outer canthus up, like the eye of a phoenix
|
||||
在线 (在線) | zàixiàn | online
|
||||
存在 | cúnzài | to exist / to be / existence
|
||||
正在 | zhèngzài | just at (that time) / right in (that place) / right in the middle of (doing sth)
|
||||
现在 (現在) | xiànzài | now / at present / at the moment / modern / current / nowadays
|
||||
所在 | suǒzài | place / location / (after a noun) place where it is located
|
||||
在此 | zàicǐ | hereto / here
|
||||
旨在 | zhǐzài | to have as its purpose / to be intended to / to aim to (do sth)
|
||||
竹林 | zhúlín | bamboo forest
|
||||
腐竹 | fǔzhú | roll of dried tofu strips
|
||||
爆竹 | bàozhú | firecracker
|
||||
竹马 (竹馬) | zhúmǎ | bamboo stick used as a toy horse
|
||||
竹子 | zhúzi | bamboo / CL: 棵, 支, 根
|
||||
竹节 (竹節) | zhújié | bamboo joint
|
||||
青梅竹马 (青梅竹馬) | qīngméizhúmǎ | lit. green plums and hobby-horse (idiom) / fig. innocent children's games / childhood sweethearts / a couple who grew up as childhood friends
|
||||
白色 | báisè | white / fig. reactionary / anti-communist
|
||||
小白 | xiǎobái | (slang) novice / greenhorn / fool / idiot / abbr. for 小白臉|小白脸, pretty boy
|
||||
白云 (白雲) | báiyún | white cloud
|
||||
空白 | kòngbái | blank space
|
||||
白银 (白銀) | báiyín | silver
|
||||
蛋白 | dànbái | egg white / protein / albumen
|
||||
白菜 | báicài | Chinese cabbage / pak choi / CL: 棵, 個|个
|
||||
黑白 | hēibái | black and white / right and wrong / monochrome
|
||||
白领 (白領) | báilǐng | white-collar / white-collar worker
|
||||
白金 | báijīn | platinum / silver / (slang) handcuffs
|
||||
驹 (駒) | jū | colt
|
||||
马驹 (馬駒) | mǎjū | young horse (colt or filly)
|
||||
龙驹 (龍駒) | lóngjū | fine horse / brilliant young man
|
||||
白驹过隙 (白駒過隙) | báijūguòxì | a white steed flits past a crack (idiom); How time flies!
|
||||
驹子 (駒子) | jūzi | young horse, ass or mule / foal / colt / filly
|
||||
龙驹凤雏 (龍駒鳳雛) | lóngjūfèngchú | brilliant young man / talented young scholar
|
||||
驴驹子 (驢駒子) | lǘjūzi | donkey foal
|
||||
食品 | shípǐn | foodstuff / food / provisions / CL: 種|种
|
||||
美食 | měishí | culinary delicacy / fine food / gourmet food
|
||||
食 | shí | to eat / food / animal feed / eclipse
|
||||
食 | sì | to feed
|
||||
食物 | shíwù | food / CL: 種|种
|
||||
粮食 (糧食) | liángshi | foodstuff / cereals / CL: 種|种
|
||||
食堂 | shítáng | dining hall / CL: 個|个, 間|间
|
||||
饮食 (飲食) | yǐnshí | food and drink / diet
|
||||
食谱 (食譜) | shípǔ | cookbook / recipe / diet / CL: 份, 個|个
|
||||
食用 | shíyòng | food product / to use as food / edible
|
||||
膳食 | shànshí | meal
|
||||
零食 | língshí | between-meal nibbles / snacks
|
||||
市场 (市場) | shìchǎng | marketplace / market (also in abstract)
|
||||
现场 (現場) | xiànchǎng | the scene (of a crime, accident etc) / (on) the spot / (at) the site
|
||||
场 (場) | cháng | threshing floor / classifier for events and happenings: spell, episode, bout
|
||||
场 (場) | chǎng | large place used for a specific purpose / stage / scene (of a play) / classifier for sporting or recreational activities / classifier for number of exams
|
||||
广场 (廣場) | guǎngchǎng | public square / plaza
|
||||
剧场 (劇場) | jùchǎng | theater / CL: 個|个
|
||||
机场 (機場) | jīchǎng | airport / airfield / CL: 家, 處|处
|
||||
职场 (職場) | zhíchǎng | workplace / workforce (of a nation or industry etc) / job market
|
||||
全场 (全場) | quánchǎng | everyone present / the whole audience / across-the-board / unanimously / whole duration (of a competition or match)
|
||||
立场 (立場) | lìchǎng | position / standpoint / CL: 個|个
|
||||
场所 (場所) | chǎngsuǒ | location / place
|
||||
场景 (場景) | chǎngjǐng | scene / scenario / setting
|
||||
商场 (商場) | shāngchǎng | shopping mall / shopping center / department store / emporium / CL: 家 / the business world
|
||||
战场 (戰場) | zhànchǎng | battlefield / CL: 個|个
|
||||
市场营销 (市場營銷) | shìchǎngyíngxiāo | marketing
|
||||
@@ -0,0 +1,125 @@
|
||||
---
|
||||
title: "千字文 - 2/9"
|
||||
date: "2019-09-03"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 化被草木,賴及萬方。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21270.gif" )
|
||||
figcaption.text-center hua4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/34987.gif" )
|
||||
figcaption.text-center bei4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/33609.gif" )
|
||||
figcaption.text-center cao3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26408.gif" )
|
||||
figcaption.text-center mu4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/36084.gif" )
|
||||
figcaption.text-center lai4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/21450.gif" )
|
||||
figcaption.text-center ji2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/33836.gif" )
|
||||
figcaption.text-center wan4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/26041.gif" )
|
||||
figcaption.text-center fang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
化学 (化學) | huàxué | chemistry / chemical
|
||||
优化 (優化) | yōuhuà | optimization / to optimize / to make superior
|
||||
信息化 | xìnxīhuà | informatization (the Information Age analog of industrialization)
|
||||
自动化 (自動化) | zìdònghuà | automation
|
||||
绿化 (綠化) | lǜhuà | to make green with plants / to reforest / (Internet slang) Islamization
|
||||
文化 | wénhuà | culture / civilization / cultural / CL: 個|个, 種|种
|
||||
变化 (變化) | biànhuà | change / variation / to change / to vary / CL: 個|个
|
||||
化工 | huàgōng | chemical industry, abbr. of 化學工業|化学工业 / chemical engineering, abbr. of 化學工程|化学工程
|
||||
化妆 (化妝) | huàzhuāng | to put on makeup
|
||||
被动 (被動) | bèidòng | passive
|
||||
被迫 | bèipò | to be compelled / to be forced
|
||||
被子 | bèizi | quilt / CL: 床
|
||||
被捕 | bèibǔ | to be arrested / under arrest
|
||||
被执行人 (被執行人) | bèizhíxíngrén | person who has failed to fulfill a court order
|
||||
被告 | bèigào | defendant
|
||||
被窝 (被窩) | bèiwō | quilt wrapped around the body as a tube (traditional bedding) / (contemporary) bedding / quilt / blankets / cover / bed
|
||||
植被 | zhíbèi | vegetation / plant cover
|
||||
被除数 (被除數) | bèichúshù | dividend
|
||||
草原 | cǎoyuán | grassland / prairie / CL: 片
|
||||
烟草 (煙草) | yāncǎo | tobacco
|
||||
花草 | huācǎo | flowers and plants
|
||||
草坪 | cǎopíng | lawn
|
||||
草莓 | cǎoméi | strawberry / CL: 顆|颗 / (Taiwan) hickey / love bite
|
||||
草案 | cǎo'àn | draft (legislation, proposal etc)
|
||||
草根 | cǎogēn | grass roots (lit. and fig.)
|
||||
稻草 | dàocǎo | rice straw
|
||||
草地 | cǎodì | lawn / meadow / sod / turf / CL: 片
|
||||
薰衣草 | xūnyīcǎo | lavender
|
||||
四叶草 (四葉草) | sìyècǎo | four-leaf clover
|
||||
草药 (草藥) | cǎoyào | herbal medicine
|
||||
药草 (藥草) | yàocǎo | medicinal herb
|
||||
土木 | tǔmù | building / construction / civil engineering
|
||||
土木工程 | tǔmùgōngchéng | civil engineering
|
||||
树木 (樹木) | shùmù | tree
|
||||
铃木 (鈴木) | Língmù | Suzuki (Japanese surname)
|
||||
木马 (木馬) | mùmǎ | wooden horse / rocking horse / vaulting horse (gymnastics) / trojan horse (computing)
|
||||
木耳 | mù'ěr | edible tree fungus / CL: 朵
|
||||
木材 | mùcái | wood
|
||||
花木兰 (花木蘭) | Huā Mùlán | Hua Mulan, legendary woman warrior (c. fifth century), Northern dynasties folk hero recorded in Sui and Tang literature
|
||||
信赖 (信賴) | xìnlài | to trust / to have confidence in / to have faith in / to rely on
|
||||
依赖 (依賴) | yīlài | to depend on / to be dependent on
|
||||
赖 (賴) | lài | to depend on / to hang on in a place / bad / to renege (on promise) / to disclaim / to rat (on debts) / rascally / to blame / to put the blame on
|
||||
值得信赖 (值得信賴) | zhídexìnlài | trustworthy
|
||||
老赖 (老賴) | lǎolài | (coll.) debt dodger
|
||||
赖以 (賴以) | làiyǐ | to rely on / to depend on
|
||||
无赖 (無賴) | wúlài | hoodlum / rascal / rogue / rascally / scoundrelly
|
||||
达赖 (達賴) | Dálài | the Dalai Lama / abbr. of 達賴喇嘛|达赖喇嘛
|
||||
赖床 (賴床) | làichuáng | to have a lie-in / to dawdle in bed
|
||||
有赖于 (有賴於) | yǒulàiyú | to rely on / to depend on
|
||||
以及 | yǐjí | as well as / too / and
|
||||
及 | jí | and / to reach / up to / in time for
|
||||
及时 (及時) | jíshí | in time / promptly / without delay / timely
|
||||
及其 | jíqí | (conjunction linking two nouns) and its ... / and their ... / and his ... / and her ...
|
||||
涉及 | shèjí | to involve / to touch upon (a topic)
|
||||
普及 | pǔjí | to spread extensively / to generalize / widespread / popular / universal / ubiquitous / pervasive
|
||||
埃及 | Āijí | Egypt
|
||||
及时处理 (及時處理) | jíshíchǔlǐ | timely handling / a stitch in time
|
||||
及时性 (及時性) | jíshíxìng | timeliness / promptness
|
||||
提及 | tíjí | to mention / to raise (a subject) / to bring to sb's attention
|
||||
遍及 | biànjí | to extend (everywhere)
|
||||
来不及 (來不及) | láibují | there's not enough time (to do sth) / it's too late (to do sth)
|
||||
万能 (萬能) | wànnéng | omnipotent / all-purpose / universal
|
||||
百万 (百萬) | bǎiwàn | million / millions
|
||||
万人 (萬人) | wànrén | ten thousand people / all the people / everyman
|
||||
万里 (萬里) | Wàn Lǐ | Wan Li (1916-2015), PRC politician
|
||||
万里 (萬里) | Wànlǐ | Wanli township in New Taipei City 新北市, Taiwan
|
||||
万里 (萬里) | wànlǐ | far away / thousands of miles / 10000 li
|
||||
数万 (數萬) | shùwàn | several tens of thousands / many thousand
|
||||
十万 (十萬) | shíwàn | hundred thousand
|
||||
万年历 (萬年曆) | wànniánlì | perpetual calendar / ten thousand year calendar / Islamic calendar introduced to Yuan China by Jamal al-Din 紮馬剌丁|扎马剌丁
|
||||
官方 | guānfāng | government / official (approved or issued by an authority)
|
||||
联系方式 (聯繫方式) | liánxìfāngshì | contact details
|
||||
方案 | fāng'àn | plan / program (for action etc) / proposal / proposed bill / CL: 個|个, 套
|
||||
东方 (東方) | Dōngfāng | the East / the Orient / two-character surname Dongfang
|
||||
东方 (東方) | dōngfāng | east
|
||||
方式 | fāngshì | way / manner / style / mode / pattern / CL: 個|个
|
||||
方 | fāng | square / power or involution (math.) / upright / honest / fair and square / direction / side / party (to a contract, dispute etc) / place / method / prescription (medicine) / just when / only or just / classifier for square things / abbr. for square or cubic meter
|
||||
方法 | fāngfǎ | method / way / means / CL: 個|个
|
||||
方便 | fāngbiàn | convenient / suitable / to facilitate / to make things easy / having money to spare / (euphemism) to relieve oneself
|
||||
@@ -0,0 +1,103 @@
|
||||
---
|
||||
title: "千字文 - 3/1"
|
||||
date: "2019-09-12"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 蓋此身髮,四大五常。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/33995.gif" )
|
||||
figcaption.text-center gai4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27492.gif" )
|
||||
figcaption.text-center ci3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/36523.gif" )
|
||||
figcaption.text-center shen1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/39662.gif" )
|
||||
figcaption.text-center fa4
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22235.gif" )
|
||||
figcaption.text-center si4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22823.gif" )
|
||||
figcaption.text-center da4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20116.gif" )
|
||||
figcaption.text-center wu3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24120.gif" )
|
||||
figcaption.text-center chang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
```
|
||||
|
||||
覆盖 (覆蓋) | fùgài | to cover
|
||||
盖 (蓋) | gài | lid / top / cover / canopy / to cover / to conceal / to build
|
||||
涵盖 (涵蓋) | hángài | to cover / to comprise / to include
|
||||
加盖 (加蓋) | jiāgài | to seal (with official stamp) / to stamp / fig. to ratify / to put lid on (cooking pot) / to cap / to build an extension or additional storey
|
||||
盖章 (蓋章) | gàizhāng | to affix a seal / to stamp (a document) / to sign off on sth
|
||||
膝盖 (膝蓋) | xīgài | knee / (Internet slang) to kneel down (in admiration)
|
||||
盖帽 (蓋帽) | gàimào | block (basketball)
|
||||
掩盖 (掩蓋) | yǎngài | to conceal / to hide behind / to cover up
|
||||
盖世 (蓋世) | gàishì | unrivalled / matchless
|
||||
此 | cǐ | this / these
|
||||
因此 | yīncǐ | thus / consequently / as a result
|
||||
此处 (此處) | cǐchù | this place / here (literary)
|
||||
在此 | zàicǐ | hereto / here
|
||||
此外 | cǐwài | besides / in addition / moreover / furthermore
|
||||
如此 | rúcǐ | in this way / so
|
||||
由此 | yóucǐ | hereby / from this
|
||||
此时 (此時) | cǐshí | now / this moment
|
||||
特此 | tècǐ | hereby
|
||||
彼此 | bǐcǐ | each other / one another
|
||||
为此 (為此) | wèicǐ | for this reason / with regards to this / in this respect / in order to do this / to this end
|
||||
此刻 | cǐkè | this moment / now / at present
|
||||
从此 (從此) | cóngcǐ | from now on / since then / henceforth
|
||||
此次 | cǐcì | this time
|
||||
身 | shēn | body / life / oneself / personally / one's morality and conduct / the main part of a structure or body / pregnant / classifier for sets of clothes: suit, twinset / Kangxi radical 158
|
||||
身份 | shēnfèn | identity / status / capacity / dignity / position / rank
|
||||
身体 (身體) | shēntǐ | the body / one's health / CL: 具, 個|个 / in person
|
||||
身份证 (身份證) | shēnfènzhèng | identity card / ID
|
||||
身高 | shēngāo | (a person's) height
|
||||
身边 (身邊) | shēnbiān | at one's side / on hand
|
||||
本身 | běnshēn | itself / in itself / per se
|
||||
随身 (隨身) | suíshēn | to (carry) on one's person / to (take) with one
|
||||
健身 | jiànshēn | to exercise / to keep fit / to work out / physical exercise
|
||||
自身 | zìshēn | itself / oneself / one's own
|
||||
终身 (終身) | zhōngshēn | lifelong / all one's life / marriage
|
||||
身后 (身後) | shēnhòu | posthumous / one's social background / behind the body
|
||||
发 (髮) | fà | hair / Taiwan pr. [fa3]
|
||||
头发 (頭髮) | tóufa | hair (on the head)
|
||||
发型 (髮型) | fàxíng | hairstyle / coiffure / hairdo
|
||||
直发 (直髮) | zhífà | straight hair
|
||||
美发 (美髮) | měifà | hairdressing / beautiful hair
|
||||
理发 (理髮) | lǐfà | a barber / hairdressing
|
||||
长发 (長髮) | chángfà | long hair
|
||||
白发 (白髮) | báifà | white or gray hair / CL: 根
|
||||
金发 (金髮) | jīnfà | blond / blonde / fair-haired
|
||||
发卡 (髮卡) | fàqiǎ | hair grip / hair clip
|
||||
发包 (髮包) | fàbāo | bun hair extension
|
||||
常见 (常見) | chángjiàn | commonly seen / common / to see sth frequently
|
||||
常见问题 (常見問題) | chángjiànwèntí | common problems / FAQ
|
||||
常 | cháng | always / ever / often / frequently / common / general / constant
|
||||
日常 | rìcháng | daily / everyday
|
||||
非常 | fēicháng | very / very much / unusual / extraordinary
|
||||
常用 | chángyòng | in common usage
|
||||
经常 (經常) | jīngcháng | frequently / constantly / regularly / often / day-to-day / everyday / daily
|
||||
正常 | zhèngcháng | regular / normal / ordinary
|
||||
异常 (異常) | yìcháng | exceptional / abnormal / an anomaly
|
||||
常识 (常識) | chángshí | common sense / general knowledge / CL: 門|门
|
||||
常州 | Chángzhōu | Changzhou prefecture-level city in Jiangsu
|
||||
@@ -0,0 +1,129 @@
|
||||
---
|
||||
title: "千字文 - 3/2"
|
||||
date: "2019-09-15"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 恭惟鞠養,豈敢毀傷。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24685.gif" )
|
||||
figcaption.text-center gong1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24799.gif" )
|
||||
figcaption.text-center wei2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/38816.gif" )
|
||||
figcaption.text-center ju1
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/39178.gif" )
|
||||
figcaption.text-center yang3
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
.hanzi-img 豈
|
||||
figcaption.text-center qi3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25954.gif" )
|
||||
figcaption.text-center gan3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/27584.gif" )
|
||||
figcaption.text-center hui3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/20663.gif" )
|
||||
figcaption.text-center shang1
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
恭喜 | gōngxǐ | congratulations / greetings
|
||||
恭 | gōng | respectful
|
||||
恭贺 (恭賀) | gōnghè | to congratulate respectfully / to express good wishes
|
||||
恭候 | gōnghòu | to look forward to sth / to wait respectfully
|
||||
恭喜发财 (恭喜發財) | gōngxǐfācái | May you have a prosperous New Year! (New Year's greeting)
|
||||
恭敬 | gōngjìng | deferential / respectful
|
||||
恭维 (恭維) | gōngwei | to praise / to speak highly of / compliment / praise
|
||||
恭祝 | gōngzhù | to congratulate respectfully / to wish good luck and success (esp. to a superior) / with best wishes (in writing)
|
||||
玩世不恭 | wánshìbùgōng | to trifle without respect (idiom); to despise worldly conventions / frivolous
|
||||
惟 | wéi | -ism / only
|
||||
惟有 | wéiyǒu | variant of 唯有
|
||||
惟一 | wéiyī | only / sole / variant of 唯一
|
||||
惟妙惟肖 | wéimiàowéixiào | to imitate to perfection / to be remarkably true to life
|
||||
惟恐 | wéikǒng | for fear that / lest / also written 唯恐
|
||||
惟独 (惟獨) | wéidú | only / solely / this one alone
|
||||
伏惟 | fúwéi | to lie prostrate / to prostrate oneself (in veneration)
|
||||
鞠 | jū | to bring up / to rear / Taiwan pr. [ju2]
|
||||
鞠躬 | jūgōng | to bow / (literary) to bend down
|
||||
鞠躬尽瘁 (鞠躬盡瘁) | jūgōngjìncuì | to bend to a task and spare no effort (idiom); striving to the utmost
|
||||
鞠躬尽瘁,死而后已 (鞠躬盡瘁,死而後已) | jūgōngjìncuì, sǐ'érhòuyǐ | to bend to a task and spare no effort unto one's dying day (idiom); striving to the utmost one's whole life / with every breath in one's body, unto one's dying day
|
||||
蹴鞠 | cùjū | cuju, ancient Chinese football (soccer)
|
||||
鞠躬尽力 (鞠躬盡力) | jūgōngjìnlì | to bend to a task and spare no effort (idiom); striving to the utmost / same as 鞠躬盡瘁|鞠躬尽瘁
|
||||
培养 (培養) | péiyǎng | to cultivate / to breed / to foster / to nurture / to educate / to groom (for a position) / education / fostering / culture (biology)
|
||||
营养 (營養) | yíngyǎng | nutrition / nourishment / CL: 種|种
|
||||
保养 (保養) | bǎoyǎng | to take good care of (or conserve) one's health / to keep in good repair / to maintain / maintenance
|
||||
养生 (養生) | yǎngshēng | to maintain good health / to raise a child or animal / curing (of concrete etc)
|
||||
养 (養) | yǎng | to raise (animals) / to bring up (children) / to keep (pets) / to support / to give birth
|
||||
养殖 (養殖) | yǎngzhí | to cultivate / cultivation / to further / to encourage
|
||||
养护 (養護) | yǎnghù | to maintain / to conserve / curing (concrete etc)
|
||||
养老 (養老) | yǎnglǎo | to provide for the elderly (family members) / to enjoy a life in retirement
|
||||
养成 (養成) | yǎngchéng | to cultivate / to raise / to form (a habit) / to acquire
|
||||
素养 (素養) | sùyǎng | (personal) accomplishment / attainment in self-cultivation
|
||||
养老保险 (養老保險) | yǎnglǎobǎoxiǎn | old-age insurance
|
||||
岂不 (豈不) | qǐbù | how couldn't...? / wouldn't it...?
|
||||
岂 (豈) | kǎi | old variant of 愷|恺 / old variant of 凱|凯
|
||||
岂 (豈) | qǐ | how? (emphatic question)
|
||||
岂止 (豈止) | qǐzhǐ | not only / far from / more than
|
||||
岂有此理 (豈有此理) | qǐyǒucǐlǐ | how can this be so? (idiom); preposterous / ridiculous / absurd
|
||||
岂非 (豈非) | qǐfēi | wouldn't it be ... ?
|
||||
岂敢 (豈敢) | qǐgǎn | how could one dare? / I don't deserve such praise
|
||||
敢于 (敢於) | gǎnyú | to have the courage to do sth / to dare to / bold in
|
||||
勇敢 | yǒnggǎn | brave / courageous
|
||||
敢死队 (敢死隊) | gǎnsǐduì | suicide squad / kamikaze unit
|
||||
敢达 (敢達) | Gǎndá | Gundam, Japanese animation franchise
|
||||
果敢 | guǒgǎn | courageous / resolute and daring
|
||||
胆敢 (膽敢) | dǎngǎn | to dare (negative connotation) / to have the audacity to (do sth)
|
||||
敢为人先 (敢為人先) | gǎnwéirénxiān | to dare to be first / to pioneer (idiom)
|
||||
敢为 (敢為) | gǎnwéi | to dare to do
|
||||
石敢当 (石敢當) | shígǎndāng | stone tablet erected to ward off evil spirits
|
||||
竟敢 | jìnggǎn | to have the impertinence / to have the cheek to
|
||||
不敢当 (不敢當) | bùgǎndāng | lit. I dare not (accept the honor); fig. I don't deserve your praise / you flatter me
|
||||
不敢恭维 (不敢恭維) | bùgǎngōngwei | to be underwhelmed / to be less than impressed
|
||||
不敢苟同 | bùgǎngǒutóng | to beg to differ (idiom)
|
||||
毁 (毀) | huǐ | to destroy / to damage / to ruin / to defame / to slander
|
||||
毁灭 (毀滅) | huǐmiè | to perish / to ruin / to destroy
|
||||
摧毁 (摧毀) | cuīhuǐ | to destroy / to wreck
|
||||
销毁 (銷毀) | xiāohuǐ | to destroy (by melting or burning) / to obliterate
|
||||
坠毁 (墜毀) | zhuìhuǐ | (of an airplane etc) to fall to the ground and crash
|
||||
毁掉 (毀掉) | huǐdiào | to destroy
|
||||
损毁 (損毀) | sǔnhuǐ | to cause damage to / to ruin / to destroy
|
||||
诋毁 (詆毀) | dǐhuǐ | to vilify / to slander / vilification
|
||||
毁损 (毀損) | huǐsǔn | impair, damage
|
||||
毁灭性 (毀滅性) | huǐmièxìng | destructive / devastating
|
||||
伤害 (傷害) | shānghài | to injure / to harm
|
||||
伤 (傷) | shāng | to injure / injury / wound
|
||||
伤感 (傷感) | shānggǎn | sad / emotional / sentimental / pathos
|
||||
悲伤 (悲傷) | bēishāng | sad / sorrowful
|
||||
受伤 (受傷) | shòushāng | to sustain injuries / wounded (in an accident etc) / harmed
|
||||
损伤 (損傷) | sǔnshāng | to harm / to damage / to injure / impairment / loss / disability
|
||||
忧伤 (憂傷) | yōushāng | distressed / laden with grief
|
||||
伤心 (傷心) | shāngxīn | to grieve / to be broken-hearted / to feel deeply hurt
|
||||
伤口 (傷口) | shāngkǒu | wound / cut
|
||||
伤亡 (傷亡) | shāngwáng | casualties / injuries and deaths
|
||||
@@ -0,0 +1,128 @@
|
||||
---
|
||||
title: "千字文 - 3/3"
|
||||
date: "2019-09-23"
|
||||
tag:
|
||||
- 千字文
|
||||
- 汉字
|
||||
---
|
||||
// nuxt
|
||||
```pug
|
||||
.w-100.mt-3
|
||||
h3.text-center 女慕貞絜,男效才良。
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/22899.gif" )
|
||||
figcaption.text-center nu:3
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/24917.gif" )
|
||||
figcaption.text-center mu4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/35998.gif" )
|
||||
figcaption.text-center zhen1
|
||||
figure.d-inline-block
|
||||
.hanzi-img 絜
|
||||
figcaption.text-center xie2
|
||||
.w-100
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/30007.gif" )
|
||||
figcaption.text-center nan2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25928.gif" )
|
||||
figcaption.text-center xiao4
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/25165.gif" )
|
||||
figcaption.text-center cai2
|
||||
figure.d-inline-block
|
||||
img.hanzi-img(src="https://www.mdbg.net/chinese/rsc/img/stroke_anim/33391.gif" )
|
||||
figcaption.text-center liang2
|
||||
```
|
||||
===
|
||||
// nuxt
|
||||
```css
|
||||
table td:first-child {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
figure {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.hanzi-img {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
font-family: san;
|
||||
}
|
||||
```
|
||||
|
||||
女性 | nǚxìng | woman / the female sex
|
||||
女子 | nǚzǐ | woman / female
|
||||
女孩 | nǚhái | girl / lass
|
||||
美女 | měinǚ | beautiful woman
|
||||
女人 | nǚrén | woman
|
||||
女人 | nǚren | wife
|
||||
才女 | cáinǚ | talented girl
|
||||
女生 | nǚshēng | schoolgirl / female student / girl
|
||||
女神 | nǚshén | goddess / nymph
|
||||
女士 | nǚshì | lady / madam / CL: 個|个, 位 / Miss / Ms
|
||||
少女 | shàonǚ | girl / young lady
|
||||
女装 (女裝) | nǚzhuāng | women's clothes
|
||||
妇女 (婦女) | fùnǚ | woman
|
||||
女儿 (女兒) | nǚ'ér | daughter
|
||||
男女 | nánnǚ | male-female / male and female
|
||||
处女 (處女) | chǔnǚ | virgin / maiden / inaugural
|
||||
慕 | mù | to admire
|
||||
羡慕 (羨慕) | xiànmù | to envy / to admire
|
||||
慕尼黑 | Mùníhēi | München or Munich, capital of Bavaria, Germany
|
||||
爱慕 (愛慕) | àimù | to adore / to admire
|
||||
百慕大 | Bǎimùdà | Bermuda
|
||||
慕容 | Mùróng | a branch of the Xianbei 鮮卑|鲜卑 nomadic people / two-character surname Murong
|
||||
慕丝 (慕絲) | mùsī | mousse (loanword)
|
||||
慕斯 | mùsī | mousse (loanword)
|
||||
慕名 | mùmíng | to admire sb's reputation / to seek out famous person or location
|
||||
倾慕 (傾慕) | qīngmù | to adore / to admire greatly
|
||||
慕名而来 (慕名而來) | mùmíng'érlái | to come to a place on account of its reputation (idiom); attracted to visit a famous location
|
||||
仰慕 | yǎngmù | to admire
|
||||
百慕达 (百慕達) | Bǎimùdá | Bermuda (Tw)
|
||||
思慕 | sīmù | to cherish the memory of sb / to think of with respect
|
||||
童贞 (童貞) | tóngzhēn | virginity / chastity
|
||||
贞操 (貞操) | zhēncāo | (usually of women) chastity / virginity / virtue / honor / loyalty / moral integrity
|
||||
贞德 (貞德) | Zhēndé | Jeanne d'Arc (1412-1431), French heroine and liberator, executed as a witch by the Burgundians and English / also called Jehanne Darc, the Maid or Orleans, Joan of Arc or St Joan
|
||||
贞洁 (貞潔) | zhēnjié | chastity
|
||||
忠贞 (忠貞) | zhōngzhēn | loyal and dependable
|
||||
坚贞不屈 (堅貞不屈) | jiānzhēnbùqū | faithful and unchanging (idiom); steadfast
|
||||
圣女贞德 (聖女貞德) | Shèngnǚ Zhēndé | Joan of Arc (1412-1431), French heroine and liberator, executed as a witch by the Burgundians and English
|
||||
絜 | jié | clean
|
||||
絜 | xié | marking line / pure / to regulate
|
||||
较长絜短 (較長絜短) | jiàochángxiéduǎn | to compare long and short / to compare the pros and cons
|
||||
较短絜长 (較短絜長) | jiàoduǎnxiécháng | to compare long and short / to compare the pros and cons
|
||||
男人 | nánrén | a man / a male / men / CL: 個|个
|
||||
男星 | nánxīng | male star / famous actor
|
||||
男士 | nánshì | man / gentleman
|
||||
男生 | nánshēng | schoolboy / male student / boy / guy (young adult male)
|
||||
男子 | nánzǐ | a man / a male
|
||||
男孩 | nánhái | boy / CL: 個|个
|
||||
男友 | nányǒu | boyfriend
|
||||
男装 (男裝) | nánzhuāng | men's clothes
|
||||
男篮 (男籃) | nánlán | men's basketball / men's basketball team
|
||||
男性 | nánxìng | the male sex / a male
|
||||
宅男 | zháinán | a guy who stays at home all the time, typically spending a lot of time playing online games (derived from Japanese "otaku")
|
||||
有效 | yǒuxiào | effective / in effect / valid
|
||||
高效 | gāoxiào | efficient / highly effective
|
||||
效果 | xiàoguǒ | result / effect / quality / CL: 個|个
|
||||
效率 | xiàolǜ | efficiency
|
||||
特效 | tèxiào | special effect / specially good effect / especially efficacious
|
||||
才能 | cáinéng | talent / ability / capacity
|
||||
才女 | cáinǚ | talented girl
|
||||
刚才 (剛纔) | gāngcái | just now / a moment ago
|
||||
专业人才 (專業人才) | zhuānyèréncái | expert (in a field)
|
||||
才艺 (才藝) | cáiyì | talent
|
||||
才华 (才華) | cáihuá | talent / CL: 份
|
||||
天才 | tiāncái | talent / gift / genius / talented / gifted
|
||||
良好 | liánghǎo | good / favorable / well / fine
|
||||
优良 (優良) | yōuliáng | fine / good / first-rate
|
||||
精良 | jīngliáng | excellent / of superior quality
|
||||
善良 | shànliáng | good and honest / kindhearted
|
||||
良心 | liángxīn | conscience
|
||||
驯良 (馴良) | xùnliáng | docile / tame
|
||||
改良 | gǎiliáng | to improve (sth) / to reform (a system)
|
||||
良性 | liángxìng | positive (in its effect) / leading to good consequences / virtuous / (medicine) benign (tumor etc)
|
||||
@@ -0,0 +1,188 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
太酷了!
|
||||
|
||||
---
|
||||
|
||||
真酷!
|
||||
|
||||
---
|
||||
|
||||
哇!
|
||||
|
||||
---
|
||||
|
||||
哎呀[哎哟],你的帽子被风刮走了!
|
||||
|
||||
---
|
||||
|
||||
妙不可言!
|
||||
|
||||
---
|
||||
|
||||
干得不错!
|
||||
|
||||
---
|
||||
|
||||
好样儿的!
|
||||
|
||||
---
|
||||
|
||||
好极了!
|
||||
|
||||
---
|
||||
|
||||
好家伙!
|
||||
|
||||
---
|
||||
|
||||
真有你的!
|
||||
|
||||
---
|
||||
|
||||
太棒了!
|
||||
|
||||
---
|
||||
|
||||
真厉害! 太了不起了!
|
||||
|
||||
---
|
||||
|
||||
真行!
|
||||
|
||||
---
|
||||
|
||||
真不得了!
|
||||
|
||||
---
|
||||
|
||||
这才像话。
|
||||
|
||||
---
|
||||
|
||||
真不像话 !
|
||||
|
||||
---
|
||||
|
||||
太不像话了!
|
||||
|
||||
---
|
||||
|
||||
你当真吗?
|
||||
|
||||
---
|
||||
|
||||
真的吗?
|
||||
|
||||
---
|
||||
|
||||
太可惜了、 真可惜!
|
||||
|
||||
---
|
||||
|
||||
真是的,质量真次。
|
||||
|
||||
---
|
||||
|
||||
真想不到
|
||||
|
||||
---
|
||||
|
||||
真受不了!
|
||||
|
||||
---
|
||||
|
||||
太过分了!
|
||||
|
||||
---
|
||||
|
||||
可恶极了!
|
||||
|
||||
---
|
||||
|
||||
真惊人!
|
||||
|
||||
---
|
||||
|
||||
天哪!
|
||||
|
||||
---
|
||||
|
||||
我的天哪!
|
||||
|
||||
---
|
||||
|
||||
妈呀!
|
||||
|
||||
---
|
||||
|
||||
我的妈呀!
|
||||
|
||||
---
|
||||
|
||||
真倒霉 !、 真不走运!、真不幸 !
|
||||
|
||||
---
|
||||
|
||||
太糟糕了!、真糟糕!
|
||||
|
||||
---
|
||||
|
||||
糟了!、惨了!完蛋了!坏了!
|
||||
|
||||
---
|
||||
|
||||
* 这回我可亲眼看见啦!
|
||||
* 他早就走啦。
|
||||
|
||||
---
|
||||
|
||||
* 特殊情况吗,还是特殊对待。
|
||||
* 你难道没看见我正在忙着吗?
|
||||
|
||||
---
|
||||
|
||||
* 既然你忙,就别去嘛。
|
||||
* 喂, 汽车开慢点嘛!
|
||||
* 有意见就提嘛! 你怎么不提呀?
|
||||
|
||||
---
|
||||
|
||||
* 多好的消息呀! 这个瓜呀,甜得恨!
|
||||
* 她是谁呀?
|
||||
* 你怎么不学一学呀!
|
||||
|
||||
---
|
||||
|
||||
* 多好的地方啊 !
|
||||
* 这是多么鼓舞人心的消息啊 !
|
||||
* 你可要小心啊 !
|
||||
|
||||
---
|
||||
|
||||
* 春天了,桃花都开了。
|
||||
* 好了,别再提那件事了。
|
||||
|
||||
---
|
||||
|
||||
* 好吧! 这事儿就这样办啦。
|
||||
* 他好像是这么说的吧。
|
||||
* 大概是前天吧。
|
||||
* 好吧。
|
||||
|
||||
---
|
||||
|
||||
* 天下着雨呢。
|
||||
* 老吴, 有人找你呢。
|
||||
|
||||
---
|
||||
|
||||
* 菊花开, 有红的, 有黄的 。
|
||||
* 明天他会来的。
|
||||
* 屋子里静悄悄的。
|
||||
* 好的。
|
||||
* 是的。
|
||||
@@ -0,0 +1,104 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
罗马人的黄金时代已过去了。
|
||||
|
||||
--
|
||||
|
||||
- 罗 马 luó mǎ Rome, capital of Italy
|
||||
- 黄 金 时 代 huáng jīn shí dài golden age
|
||||
- 已 yǐ already; to stop
|
||||
- 过 去 guò qù (in the) past
|
||||
|
||||
---
|
||||
|
||||
黄河是中国的第二大河流。
|
||||
|
||||
--
|
||||
|
||||
- 河 流 hé liú river
|
||||
|
||||
---
|
||||
|
||||
哲学上的玄想出自实际情况。
|
||||
|
||||
--
|
||||
|
||||
- 哲 学 zhé xué philosophy
|
||||
- 玄 xuán black; mysterious
|
||||
- 想 出 xiǎng chū to figure out
|
||||
- 实 际 情 况 shí jì qíng kuàng actual circumstances
|
||||
|
||||
---
|
||||
|
||||
宇宙毫无疑问是无限的。
|
||||
|
||||
--
|
||||
|
||||
- 宇 宙 yǔ zhòu universe; cosmos
|
||||
- 毫 无 疑 问 háo wú yí wèn certainty
|
||||
- 无 限 wú xiàn unlimited
|
||||
|
||||
---
|
||||
|
||||
许多房屋被洪水冲走了。
|
||||
|
||||
--
|
||||
|
||||
- 许 多 xǔ duō many; a lot of
|
||||
- 房 屋 fáng wū house; building
|
||||
- 被 bèi quilt; by
|
||||
- 洪 水 hóng shuǐ deluge; flood
|
||||
- 冲 走 chōng zǒu to flush away
|
||||
|
||||
---
|
||||
|
||||
多么荒唐的故事!
|
||||
|
||||
--
|
||||
|
||||
- 荒 唐 huāng táng beyond belief
|
||||
- 故 事 gù shì old practice
|
||||
|
||||
---
|
||||
|
||||
我当初荒废了岁月。
|
||||
|
||||
--
|
||||
|
||||
- 当 初 dāng chū at that time
|
||||
- 荒 废 huāng fèi to abandon (cultivated fields)
|
||||
- 岁 月 suì yuè years; time
|
||||
|
||||
---
|
||||
|
||||
资产盈利能力或一些其他的价值,它们的主人。
|
||||
|
||||
--
|
||||
|
||||
- 资 产 zī chǎn property; assets
|
||||
- 盈 利 yíng lì profit; gain
|
||||
- 能 力 néng lì capability; ability
|
||||
- 或 huò maybe; perhaps; or
|
||||
- 一 些 yī xiē some; a few
|
||||
- 其 他 qí tā other; the rest
|
||||
- 价 值 jià zhí value; worth
|
||||
- 主 人 zhǔ rén master; host; owner
|
||||
|
||||
---
|
||||
|
||||
庆祝历史上的每个圣人的诞辰
|
||||
|
||||
--
|
||||
|
||||
- 庆 祝 qìng zhù to celebrate
|
||||
- 历 史 上 lì shǐ shàng historical
|
||||
- 圣 人 shèng rén saint; sage
|
||||
- 诞 辰 dàn chén birthday
|
||||
|
||||
---
|
||||
|
||||
那张CD是我儿子的。
|
||||
@@ -0,0 +1,156 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
一股寒流侵袭了欧洲。
|
||||
|
||||
--
|
||||
|
||||
- 寒 流 hán liú cold stream
|
||||
- 侵 袭 qīn xí to invade
|
||||
- 欧 洲 ōu zhōu Europe
|
||||
|
||||
---
|
||||
|
||||
天气非常寒冷。
|
||||
|
||||
--
|
||||
|
||||
- 寒 冷 hán lěng cold (climate)
|
||||
|
||||
---
|
||||
|
||||
寒风席卷北方。
|
||||
|
||||
--
|
||||
|
||||
- 席 卷 xí juǎn to engulf; to sweep
|
||||
- 北 方 běi fāng north
|
||||
|
||||
---
|
||||
|
||||
暑假期间,我在邮局工作。
|
||||
|
||||
--
|
||||
|
||||
- 暑 假 shǔ jià summer vacation
|
||||
- 期 间 qī jiān period of time
|
||||
- 邮 局 yóu jú post office
|
||||
|
||||
---
|
||||
|
||||
他们去了爱丁堡避暑。
|
||||
|
||||
--
|
||||
|
||||
- 爱 丁 堡 ài dīng bǎo Edinburgh, capital of Scotland
|
||||
- 避 暑 bì shǔ to be away for the summer holidays
|
||||
|
||||
---
|
||||
|
||||
然而,相反的理论往往也是真的。
|
||||
|
||||
--
|
||||
|
||||
- 然 而 rán ér however; yet; but
|
||||
- 相 反 xiāng fǎn opposite; contrary
|
||||
- 理 论 lǐ lùn theory; to argue
|
||||
- 往 往 wǎng wǎng often; frequently
|
||||
|
||||
---
|
||||
|
||||
我不能再往前走了。
|
||||
|
||||
--
|
||||
|
||||
- 往 前 wǎng qián to move forwards
|
||||
|
||||
---
|
||||
|
||||
春天和秋天,你更喜欢哪个?
|
||||
|
||||
---
|
||||
|
||||
今年中秋节是星期一吗?
|
||||
|
||||
--
|
||||
|
||||
- 中 秋 节 zhōng qiū jié the Mid-Autumn Festival on 15th of 8th lunar month
|
||||
|
||||
---
|
||||
|
||||
你有没有收据?
|
||||
|
||||
--
|
||||
|
||||
- 收 据 shōu jù receipt
|
||||
|
||||
---
|
||||
|
||||
对不起。我收回我的话。
|
||||
|
||||
--
|
||||
|
||||
- 收 回 shōu huí to regain
|
||||
|
||||
---
|
||||
|
||||
我今天收到了她的信。
|
||||
|
||||
--
|
||||
|
||||
- 收 到 shōu dào to receive
|
||||
|
||||
---
|
||||
|
||||
西藏的好水就是世界的好水。
|
||||
|
||||
--
|
||||
|
||||
- 西 藏 xī zàng Tibet
|
||||
- 世 界 shì jiè world
|
||||
|
||||
---
|
||||
|
||||
他把它藏在了门后。
|
||||
|
||||
---
|
||||
|
||||
谁在影子里藏着?
|
||||
|
||||
--
|
||||
|
||||
- 影 子 yǐng zi shadow; reflection
|
||||
|
||||
---
|
||||
|
||||
我想知道这个冬天在我们的城市会不会下雪。
|
||||
|
||||
--
|
||||
|
||||
- 城 市 chéng shì city; town
|
||||
- 下 雪 xià xuě to snow
|
||||
|
||||
---
|
||||
|
||||
冬季是一年中最冷的季节。
|
||||
|
||||
--
|
||||
|
||||
- 冬 季 dōng jì winter
|
||||
- 年 中 nián zhōng within the year
|
||||
- 季 节 jì jié time; season
|
||||
|
||||
---
|
||||
|
||||
我们为过冬储备了10吨煤。
|
||||
|
||||
--
|
||||
|
||||
- 过 冬 guò dōng to get through the winter
|
||||
- 储 备 chǔ bèi reserves
|
||||
- 吨 dūn ton (loanword)
|
||||
- 煤 méi coal
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
用闰表来测定的格林尼治时间。
|
||||
|
||||
--
|
||||
|
||||
- 测 定 cè dìng to survey and evaluate
|
||||
- 格 林 尼 治 gé lín ní zhì Greenwich (former location of Greenwich observatory, at zero longitude)
|
||||
|
||||
---
|
||||
|
||||
闰的(闰日、闰年的)在日历中加入一天或一月而使历年与太阳年相吻合的
|
||||
|
||||
--
|
||||
|
||||
- 加 入 jiā rù to become a member
|
||||
- 日 历 rì lì calendar
|
||||
- 历 年 lì nián calendar year
|
||||
- 吻 合 wěn hé to be a good fit
|
||||
|
||||
---
|
||||
|
||||
尽管现在中国人的生活越来越好了,可是还有改进的余地。
|
||||
|
||||
--
|
||||
|
||||
- 尽 管 jǐn guǎn despite; although
|
||||
- 越 来 越 yuè lái yuè more and more
|
||||
- 改 进 gǎi jìn to improve
|
||||
- 余 地 yú dì margin; leeway
|
||||
|
||||
---
|
||||
|
||||
你留在这儿,其余的人去外面
|
||||
|
||||
--
|
||||
|
||||
- 其 余 qí yú the rest; remaining
|
||||
|
||||
---
|
||||
|
||||
他和我同岁。
|
||||
|
||||
---
|
||||
|
||||
你多大岁数了?
|
||||
|
||||
---
|
||||
|
||||
法律有很多不明确的地方。
|
||||
|
||||
--
|
||||
|
||||
- 法 律 fǎ lǜ law
|
||||
- 不 明 确 bù míng què indefinite; unclear
|
||||
|
||||
---
|
||||
|
||||
嚴以律己, 寬以待人。
|
||||
|
||||
--
|
||||
|
||||
- 严 以 律 己 yǎn yǐ lǜ jǐ to be strict with oneself (idiom)
|
||||
- 宽 以 待 人 kuān yǐ dài rén to be lenient with others (idiom)
|
||||
|
||||
---
|
||||
|
||||
心里正在捉着迷藏,吕校长鞠躬请他演讲,下面一阵鼓掌。
|
||||
|
||||
--
|
||||
|
||||
- 捉 zhuō to clutch; to grab
|
||||
- 着 迷 zháo mí to be fascinated
|
||||
- 校 长 xiào zhǎng (college, university) president
|
||||
- 鞠 躬 jū gōng to bow
|
||||
- 演 讲 yǎn jiǎng lecture
|
||||
- 一 阵 yī zhèn a burst; a fit
|
||||
- 鼓 掌 gǔ zhǎng to applaud; to clap
|
||||
|
||||
---
|
||||
|
||||
他强调都市生活的便利方面。
|
||||
|
||||
--
|
||||
|
||||
- 强 调 qiáng diào to emphasize (a statement)
|
||||
- 都 市 dū shì city; metropolis
|
||||
- 生 活 shēng huó life; activity
|
||||
- 便 利 biàn lì convenient; easy
|
||||
- 方 面 fāng miàn respect; aspect
|
||||
|
||||
---
|
||||
|
||||
现今人们没有空调无法生活。
|
||||
|
||||
--
|
||||
|
||||
- 无 法 wú fǎ unable; incapable
|
||||
|
||||
---
|
||||
|
||||
众口难调。
|
||||
|
||||
---
|
||||
|
||||
我想特别强调这一点。
|
||||
|
||||
---
|
||||
|
||||
如果没有太阳,那所有生物都会死。
|
||||
|
||||
---
|
||||
|
||||
住家的阳台都对着广
|
||||
|
||||
--
|
||||
|
||||
- 阳 台 yáng tái balcony; porch
|
||||
|
||||
---
|
||||
|
||||
这间房照不到很多阳光。
|
||||
@@ -0,0 +1,111 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
他们俩相爱已经多年。
|
||||
|
||||
---
|
||||
|
||||
她特别地恨那个男孩。
|
||||
|
||||
---
|
||||
|
||||
听了这消息我心里很不安。
|
||||
|
||||
---
|
||||
|
||||
她的优点是临危不乱。
|
||||
|
||||
---
|
||||
|
||||
多数旧电影片都是黑白的。
|
||||
|
||||
---
|
||||
|
||||
这个墨颜色很黑。
|
||||
|
||||
---
|
||||
|
||||
冰太薄,承受不住你的重量。
|
||||
|
||||
---
|
||||
|
||||
厚厚的云把风景遮住了。
|
||||
|
||||
---
|
||||
|
||||
我饱了,一点也吃不下了。
|
||||
|
||||
---
|
||||
|
||||
这孩子不是肚子饿,就是馋嘴。
|
||||
|
||||
---
|
||||
|
||||
他的境遇很可悲。
|
||||
|
||||
---
|
||||
|
||||
大厅里充满了他们的欢笑声。
|
||||
|
||||
---
|
||||
|
||||
他的背上有一个蛇形的红斑。
|
||||
|
||||
---
|
||||
|
||||
病人服药后腹痛逐止。
|
||||
|
||||
---
|
||||
|
||||
虽然笨,可是他很刻苦。
|
||||
|
||||
---
|
||||
|
||||
他很年轻,身子骨很灵巧。
|
||||
|
||||
---
|
||||
|
||||
这本书的缺点是太长。
|
||||
|
||||
---
|
||||
|
||||
他把头发剪成时兴的短发。
|
||||
|
||||
---
|
||||
|
||||
他发誓要为父亲报仇。
|
||||
|
||||
---
|
||||
|
||||
你不像是忘恩负义的人。
|
||||
|
||||
---
|
||||
|
||||
安居乐业
|
||||
|
||||
---
|
||||
|
||||
黑名单
|
||||
|
||||
---
|
||||
|
||||
厚此薄彼
|
||||
|
||||
---
|
||||
|
||||
悲欢离合
|
||||
|
||||
---
|
||||
|
||||
笨手笨脚
|
||||
|
||||
---
|
||||
|
||||
日短夜长
|
||||
|
||||
---
|
||||
|
||||
恩将仇报
|
||||
@@ -0,0 +1,95 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
假若要起风,就不要出海。
|
||||
|
||||
---
|
||||
|
||||
人们蜂拥而进入电影院。
|
||||
|
||||
---
|
||||
|
||||
他穿了一套很坏的粗布衣服。
|
||||
|
||||
---
|
||||
|
||||
她纺的线又细又匀。
|
||||
|
||||
---
|
||||
|
||||
你把我的鼻子画得太大了。
|
||||
|
||||
---
|
||||
|
||||
那只小钟丁当丁当地报时。
|
||||
|
||||
---
|
||||
|
||||
他定了一间有两张单人床的房间。
|
||||
|
||||
---
|
||||
|
||||
中国人一般都是单性双名。
|
||||
|
||||
---
|
||||
|
||||
淡而无味
|
||||
|
||||
---
|
||||
|
||||
一般而论,美国食物味道清淡。
|
||||
|
||||
---
|
||||
|
||||
茶太浓了,给我对点儿水。
|
||||
|
||||
---
|
||||
|
||||
贪多必失
|
||||
|
||||
---
|
||||
|
||||
他得到了一笔奖金。
|
||||
|
||||
---
|
||||
|
||||
在家庭里,我们不计较得失。
|
||||
|
||||
---
|
||||
|
||||
太阳从东向西移动。
|
||||
|
||||
---
|
||||
|
||||
塔里木盆地在中国西部。
|
||||
|
||||
---
|
||||
|
||||
他扭了腰,动不了。
|
||||
|
||||
---
|
||||
|
||||
生活永远不是静止的。
|
||||
|
||||
---
|
||||
|
||||
或多或少
|
||||
|
||||
---
|
||||
|
||||
他多嘴多舌,是个碎嘴子。
|
||||
|
||||
---
|
||||
|
||||
懂得最多的人,说得最少。
|
||||
|
||||
---
|
||||
|
||||
这个繁难的问题解决了。
|
||||
|
||||
---
|
||||
|
||||
房间没有装饰,极为简陋。
|
||||
@@ -0,0 +1,172 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
source: https://th.hujiang.com/new/p394824/
|
||||
---
|
||||
|
||||
调味料
|
||||
|
||||
--
|
||||
|
||||
เครื่องปรุงรส
|
||||
|
||||
---
|
||||
|
||||
沙拉油
|
||||
|
||||
--
|
||||
|
||||
น้ำมันสลัด
|
||||
|
||||
---
|
||||
|
||||
蚝油
|
||||
|
||||
--
|
||||
|
||||
น้ำมันหอย
|
||||
|
||||
---
|
||||
|
||||
面包屑
|
||||
|
||||
--
|
||||
|
||||
เศษขนมปัง
|
||||
|
||||
---
|
||||
|
||||
酦粉
|
||||
|
||||
--
|
||||
|
||||
แป้งฟู
|
||||
|
||||
---
|
||||
|
||||
调味汁
|
||||
|
||||
--
|
||||
|
||||
น้ำปรุงรสอาหาร
|
||||
|
||||
---
|
||||
|
||||
面粉
|
||||
|
||||
--
|
||||
|
||||
แป้งข้าวสาลี
|
||||
|
||||
---
|
||||
|
||||
香料
|
||||
|
||||
--
|
||||
|
||||
เครื่องเทศ
|
||||
|
||||
---
|
||||
|
||||
盐
|
||||
|
||||
--
|
||||
|
||||
เกลือ
|
||||
|
||||
---
|
||||
|
||||
胡椒
|
||||
|
||||
--
|
||||
|
||||
พริกไทย
|
||||
|
||||
---
|
||||
|
||||
蕃茄酱
|
||||
|
||||
--
|
||||
|
||||
ซอสมะเขือเทศ
|
||||
|
||||
---
|
||||
|
||||
酱油
|
||||
|
||||
--
|
||||
|
||||
ซีอิ๊ว
|
||||
|
||||
---
|
||||
|
||||
糖
|
||||
|
||||
--
|
||||
|
||||
น้ำตาล
|
||||
|
||||
---
|
||||
|
||||
辣酱
|
||||
|
||||
--
|
||||
|
||||
ซอสพริก
|
||||
|
||||
---
|
||||
|
||||
醋
|
||||
|
||||
--
|
||||
|
||||
น้ำส้ม
|
||||
|
||||
---
|
||||
|
||||
黄油
|
||||
|
||||
--
|
||||
|
||||
เนย
|
||||
|
||||
---
|
||||
|
||||
花生酱
|
||||
|
||||
--
|
||||
|
||||
เนยถั่ว
|
||||
|
||||
---
|
||||
|
||||
椰浆
|
||||
|
||||
--
|
||||
|
||||
น้ำกะทิ
|
||||
|
||||
---
|
||||
|
||||
牛奶
|
||||
|
||||
--
|
||||
|
||||
นม
|
||||
|
||||
---
|
||||
|
||||
虾酱
|
||||
|
||||
--
|
||||
|
||||
กะปิ
|
||||
|
||||
---
|
||||
|
||||
鱼露
|
||||
|
||||
--
|
||||
|
||||
น้ำปลา
|
||||
@@ -0,0 +1,112 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
我们应当用右手拿着坚固的盾牌去捍卫我们在中东的利益。
|
||||
|
||||
--
|
||||
|
||||
- 应 当 yīng dāng should; ought to
|
||||
- 右 手 yòu shǒu right hand
|
||||
- 拿 ná to hold; to seize
|
||||
- 坚 固 jiān gù firm; firmly; hard
|
||||
- 盾 牌 dùn pái shield; pretext
|
||||
- 捍 卫 hàn wèi to defend
|
||||
- 利 益 lì yì benefit
|
||||
|
||||
---
|
||||
|
||||
倾盆大雨劈头盖脸地浇了下来。
|
||||
|
||||
--
|
||||
|
||||
- 倾 盆 大 雨 qīng pén dà yǔ a downpour
|
||||
- 劈 头 盖 脸 pī tóu gài liǎn lit. splitting the head and covering the face (idiom)
|
||||
- 浇 jiāo to pour liquid
|
||||
- 下 来 xià lai to come down
|
||||
|
||||
---
|
||||
|
||||
我踢足球的時候弄傷了腿。
|
||||
|
||||
--
|
||||
|
||||
- 踢 tī to kick
|
||||
- 足 球 zú qiú soccer ball; soccer
|
||||
- 弄 伤 nòng shāng to bruise
|
||||
- 腿 tuǐ hip bone
|
||||
|
||||
---
|
||||
|
||||
你认为汤姆的腰围是多少?
|
||||
|
||||
--
|
||||
|
||||
- 汤 姆 tāng mǔ Tom (name)
|
||||
- 腰 围 yāo wéi waist measurement
|
||||
|
||||
---
|
||||
|
||||
一定是有人偷了你的手錶。
|
||||
|
||||
--
|
||||
|
||||
- 偷 tōu to steal; to pilfer
|
||||
- 手 表 shǒu biǎo wrist watch
|
||||
|
||||
---
|
||||
|
||||
抡锤子的工作使胳膊上的肌肉结成了一块块硬疙瘩。
|
||||
|
||||
--
|
||||
|
||||
- 抡 lūn to swing (one's arms, a heavy object)
|
||||
- 锤 子 chuí zi hammer
|
||||
- 胳 膊 gē bo arm
|
||||
- 肌 肉 jī ròu muscle; flesh
|
||||
- 结 成 jié chéng to form
|
||||
- 硬 yìng hard; stiff; strong
|
||||
- 疙 瘩 gē da swelling or lump on skin
|
||||
|
||||
---
|
||||
|
||||
吃些火腿。
|
||||
|
||||
--
|
||||
|
||||
- 些 xiē some; few; several
|
||||
- 火 腿 huǒ tuǐ ham
|
||||
|
||||
---
|
||||
|
||||
他脸上显出一副严肃的神色。
|
||||
|
||||
--
|
||||
|
||||
- 脸 liǎn face
|
||||
- 显 出 xiǎn chū to express
|
||||
- 严 肃 yán sù solemn; grave
|
||||
- 神 色 shén sè expression; look
|
||||
|
||||
---
|
||||
|
||||
鸟的翅膀相当于人的胳膊。
|
||||
|
||||
--
|
||||
|
||||
- 翅 膀 chì bǎng wing
|
||||
- 相 当 于 xiāng dāng yú equivalent to
|
||||
- 胳 膊 gē bo arm
|
||||
|
||||
---
|
||||
|
||||
这事他早就扔在脖子后边了。
|
||||
|
||||
--
|
||||
|
||||
- 早 就 zǎo jiù already at an earlier time
|
||||
- 扔 rēng to throw
|
||||
- 脖 子 bó zi neck
|
||||
- 后 边 hòu bian back; rear; behind
|
||||
@@ -0,0 +1,163 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
^^speak 你把别人想得太复杂,是因为你也不简单。
|
||||
|
||||
---
|
||||
|
||||
^^speak 有人对我说,下辈子,你早点来!我说,上辈子你也是这么说的。
|
||||
|
||||
---
|
||||
|
||||
^^speak 小时候上课玩手机,组长说别玩了,我说不玩手机玩你啊。
|
||||
|
||||
---
|
||||
|
||||
^^speak 人家考高分就要求我也考高分,人家开法拉利了你怎么不买一辆。
|
||||
|
||||
--
|
||||
|
||||
^^speak 法拉利
|
||||
|
||||
---
|
||||
|
||||
^^speak 现在都不流行作弊了,流行交白卷。
|
||||
|
||||
---
|
||||
|
||||
^^speak 凡是在食堂,自习室,教学楼前当众疯狂接吻--都是开不起房的!
|
||||
|
||||
---
|
||||
|
||||
^^speak 大学四年没有一个女生问过我路,今天带一次开宝马回母校办点事,结果一会功夫就有五个女生来问路。
|
||||
|
||||
--
|
||||
|
||||
^^speak 宝马
|
||||
|
||||
---
|
||||
|
||||
^^speak 长得丑的女孩子我一般不甩她,但你是个例外。
|
||||
|
||||
---
|
||||
|
||||
^^speak 打死你我也不说。
|
||||
|
||||
---
|
||||
|
||||
^^speak 打死我我也不说。
|
||||
|
||||
---
|
||||
|
||||
^^speak 年轻时不懂事,经常拉着mm逛街,结果伤害了不少mm;现在不拉了,没想到又伤害不少......
|
||||
|
||||
--
|
||||
|
||||
mm
|
||||
|
||||
--
|
||||
|
||||
^^speak 妹妹
|
||||
|
||||
---
|
||||
|
||||
^^speak 女人对你说“讨厌”的时候表明她喜欢你,男人对你说“讨厌”的时候他是真的讨厌你。
|
||||
|
||||
---
|
||||
|
||||
^^speak 男人读到博士是因为智商低,女人读到博士是因为情商低。
|
||||
|
||||
--
|
||||
|
||||
^^speak 智商
|
||||
|
||||
^^speak 情商
|
||||
|
||||
--
|
||||
|
||||
IQ
|
||||
|
||||
EQ
|
||||
|
||||
---
|
||||
|
||||
^^speak 最丢脸是和几个同学讨论薪水,原以为他们说的是年薪,后来才发现他们说的都是月薪...
|
||||
|
||||
---
|
||||
|
||||
^^speak 若不弃,此生不离;若嫌弃,死一边去。
|
||||
|
||||
---
|
||||
|
||||
^^speak 如果美丽是一种罪,那我已经犯下了滔天大罪。
|
||||
|
||||
---
|
||||
|
||||
^^speak 滔天大罪
|
||||
|
||||
---
|
||||
|
||||
^^speak 长得丑不是你的错,只是上帝打了个盹儿你要有勇气面对一切啊。
|
||||
|
||||
---
|
||||
|
||||
^^speak 打了个盹儿
|
||||
|
||||
---
|
||||
|
||||
^^speak 爷爷说:周杰伦出家一定是个好和尚,因为他念的经实在太好听了。
|
||||
|
||||
---
|
||||
|
||||
^^speak 那天,你说讨厌我,我笑了,笑得撕心裂肺
|
||||
|
||||
---
|
||||
|
||||
^^speak 撕心裂肺
|
||||
|
||||
---
|
||||
|
||||
^^speak 你出生后是不是被扔上去三次,但只被接住2次。
|
||||
|
||||
---
|
||||
|
||||
^^speak 工资就像大姨妈,一个月一次,一周左右就没了。
|
||||
|
||||
--
|
||||
|
||||
^^speak 大姨妈
|
||||
|
||||
---
|
||||
|
||||
^^speak 亲爱的,你可得一定要相信我啊,我连坐船都头晕,更何况是脚踏两只船呢!
|
||||
|
||||
---
|
||||
|
||||
^^speak 脚踏两只船
|
||||
|
||||
---
|
||||
|
||||
^^speak 有的人,做面膜的时候,比真人好看多了。
|
||||
|
||||
--
|
||||
|
||||
^^speak 面膜
|
||||
|
||||
---
|
||||
|
||||
^^speak 别谢,写完还怎么好意思想你收钱啊!
|
||||
|
||||
---
|
||||
|
||||
^^speak 别以为我长的帅就认为我遥不可及高不可攀,其实我是海纳百川啊。
|
||||
|
||||
---
|
||||
|
||||
^^speak 海纳百川
|
||||
|
||||
---
|
||||
|
||||
^^speak 不要把我对你的容忍当成你不要脸的资本!
|
||||
@@ -0,0 +1,131 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
骨
|
||||
|
||||
--
|
||||
|
||||
🦴
|
||||
|
||||
---
|
||||
|
||||
肌肉
|
||||
|
||||
--
|
||||
|
||||
💪
|
||||
|
||||
---
|
||||
|
||||
大腿
|
||||
|
||||
--
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
胡须
|
||||
|
||||
--
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
鼻子
|
||||
|
||||
--
|
||||
|
||||
👃
|
||||
|
||||
---
|
||||
|
||||
眼睛
|
||||
|
||||
--
|
||||
|
||||
👀
|
||||
|
||||
---
|
||||
|
||||
脚
|
||||
|
||||
--
|
||||
|
||||
🦶
|
||||
|
||||
---
|
||||
|
||||
食指
|
||||
|
||||
--
|
||||
|
||||
☝️
|
||||
|
||||
---
|
||||
|
||||
手掌
|
||||
|
||||
--
|
||||
|
||||
🖐️
|
||||
|
||||
---
|
||||
|
||||
牙齿
|
||||
|
||||
--
|
||||
|
||||
🦷
|
||||
|
||||
---
|
||||
|
||||
唇
|
||||
|
||||
--
|
||||
|
||||
👄
|
||||
|
||||
---
|
||||
|
||||
舌头
|
||||
|
||||
--
|
||||
|
||||
👅
|
||||
|
||||
---
|
||||
|
||||
大脑
|
||||
|
||||
--
|
||||
|
||||
🧠
|
||||
|
||||
---
|
||||
|
||||
胡子
|
||||
|
||||
--
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
心脏
|
||||
|
||||
--
|
||||
|
||||
❤️
|
||||
|
||||
---
|
||||
|
||||
耳朵
|
||||
|
||||
--
|
||||
|
||||
👂
|
||||
@@ -0,0 +1,125 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
害怕
|
||||
|
||||
--
|
||||
|
||||
😨
|
||||
|
||||
---
|
||||
|
||||
担心
|
||||
|
||||
--
|
||||
|
||||
😓
|
||||
|
||||
---
|
||||
|
||||
生气
|
||||
|
||||
--
|
||||
|
||||
😠
|
||||
|
||||
---
|
||||
|
||||
高兴
|
||||
|
||||
--
|
||||
|
||||
😊
|
||||
|
||||
---
|
||||
|
||||
睡觉
|
||||
|
||||
--
|
||||
|
||||
😪
|
||||
|
||||
---
|
||||
|
||||
休息
|
||||
|
||||
--
|
||||
|
||||
♨️
|
||||
|
||||
---
|
||||
|
||||
举手
|
||||
|
||||
--
|
||||
|
||||
🙋
|
||||
|
||||
🙋♂️
|
||||
|
||||
---
|
||||
|
||||
微笑
|
||||
|
||||
--
|
||||
|
||||
😊
|
||||
|
||||
---
|
||||
|
||||
哭
|
||||
|
||||
--
|
||||
|
||||
😢
|
||||
|
||||
---
|
||||
|
||||
泪流满面
|
||||
|
||||
--
|
||||
|
||||
😭
|
||||
|
||||
---
|
||||
|
||||
啜泣
|
||||
|
||||
--
|
||||
|
||||
😢
|
||||
|
||||
---
|
||||
|
||||
辛苦
|
||||
|
||||
--
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
呕吐
|
||||
|
||||
--
|
||||
|
||||
🤮
|
||||
|
||||
---
|
||||
|
||||
害羞
|
||||
|
||||
--
|
||||
|
||||
😳
|
||||
|
||||
---
|
||||
|
||||
大便
|
||||
|
||||
--
|
||||
|
||||
💩
|
||||
@@ -0,0 +1,195 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
兄弟
|
||||
|
||||
--
|
||||
|
||||
👬
|
||||
|
||||
---
|
||||
|
||||
家庭
|
||||
|
||||
--
|
||||
|
||||
👨👩👧👦
|
||||
|
||||
---
|
||||
|
||||
新郎
|
||||
|
||||
--
|
||||
|
||||
🤵
|
||||
|
||||
---
|
||||
|
||||
新娘
|
||||
|
||||
--
|
||||
|
||||
👰
|
||||
|
||||
---
|
||||
|
||||
男孩
|
||||
|
||||
--
|
||||
|
||||
👦
|
||||
|
||||
---
|
||||
|
||||
女孩
|
||||
|
||||
--
|
||||
|
||||
👱♀️
|
||||
|
||||
---
|
||||
|
||||
婴儿
|
||||
|
||||
--
|
||||
|
||||
👶
|
||||
|
||||
---
|
||||
|
||||
男人
|
||||
|
||||
--
|
||||
|
||||
👱
|
||||
|
||||
---
|
||||
|
||||
女人
|
||||
|
||||
--
|
||||
|
||||
👩
|
||||
|
||||
---
|
||||
|
||||
好朋友
|
||||
|
||||
--
|
||||
|
||||
(●'◡'●)ノ*\\(๑•₃•๑)*
|
||||
|
||||
---
|
||||
|
||||
工人
|
||||
|
||||
--
|
||||
|
||||
👷
|
||||
|
||||
---
|
||||
|
||||
厨师
|
||||
|
||||
--
|
||||
|
||||
👩🍳
|
||||
|
||||
---
|
||||
|
||||
农民
|
||||
|
||||
--
|
||||
|
||||
👨🌾
|
||||
|
||||
---
|
||||
|
||||
美发
|
||||
|
||||
--
|
||||
|
||||
💇
|
||||
|
||||
---
|
||||
|
||||
理发
|
||||
|
||||
--
|
||||
|
||||
💇♂️
|
||||
|
||||
---
|
||||
|
||||
警察
|
||||
|
||||
--
|
||||
|
||||
👮
|
||||
|
||||
---
|
||||
|
||||
运动员
|
||||
|
||||
--
|
||||
|
||||
🏃
|
||||
|
||||
---
|
||||
|
||||
飞行员
|
||||
|
||||
--
|
||||
|
||||
👩✈️
|
||||
|
||||
---
|
||||
|
||||
学生
|
||||
|
||||
--
|
||||
|
||||
👨🎓
|
||||
|
||||
---
|
||||
|
||||
科学家
|
||||
|
||||
--
|
||||
|
||||
👩🔬
|
||||
|
||||
---
|
||||
|
||||
侦探
|
||||
|
||||
--
|
||||
|
||||
🕵
|
||||
|
||||
---
|
||||
|
||||
服务员
|
||||
|
||||
--
|
||||
|
||||
💁
|
||||
|
||||
---
|
||||
|
||||
法官
|
||||
|
||||
--
|
||||
|
||||
👨⚖️
|
||||
|
||||
---
|
||||
|
||||
医生
|
||||
|
||||
--
|
||||
|
||||
👩⚕️
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,267 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
^^speak(s="维基百科") 
|
||||
|
||||
--
|
||||
|
||||
维基百科
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="谷歌") 
|
||||
|
||||
--
|
||||
|
||||
谷歌
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="新浪") 
|
||||
|
||||
--
|
||||
|
||||
新浪
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="苹果") 
|
||||
|
||||
--
|
||||
|
||||
苹果
|
||||
|
||||
蘋果
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="三星") 
|
||||
|
||||
--
|
||||
|
||||
三星
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="华为") 
|
||||
|
||||
--
|
||||
|
||||
华为
|
||||
|
||||
華為
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="索尼") 
|
||||
|
||||
--
|
||||
|
||||
索尼
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="宏达电") 
|
||||
|
||||
--
|
||||
|
||||
宏达电
|
||||
|
||||
宏達電
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="华硕") 
|
||||
|
||||
--
|
||||
|
||||
华硕
|
||||
|
||||
華碩
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="宏碁") 
|
||||
|
||||
--
|
||||
|
||||
宏碁
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="摩托罗拉") 
|
||||
|
||||
--
|
||||
|
||||
摩托罗拉
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="小米") 
|
||||
|
||||
--
|
||||
|
||||
小米
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="乐金") 
|
||||
|
||||
--
|
||||
|
||||
乐金
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="維沃") 
|
||||
|
||||
--
|
||||
|
||||
維沃
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="一加") 
|
||||
|
||||
--
|
||||
|
||||
一加
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="夏普") 
|
||||
|
||||
--
|
||||
|
||||
夏普
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="诺基亚") 
|
||||
|
||||
--
|
||||
|
||||
诺基亚
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="微软") 
|
||||
|
||||
--
|
||||
|
||||
微软
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="联想") 
|
||||
|
||||
--
|
||||
|
||||
联想
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="惠烈-普克") 
|
||||
|
||||
--
|
||||
|
||||
惠烈-普克
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="戴尔") /cdn.vox-cdn.com/assets/977369/Dell_Logo_Tagline.jpeg)
|
||||
|
||||
--
|
||||
|
||||
戴尔
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="微星科技") 
|
||||
|
||||
--
|
||||
|
||||
微星科技
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="东芝") 
|
||||
|
||||
--
|
||||
|
||||
东芝
|
||||
|
||||
東芝
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="富士通") 
|
||||
|
||||
--
|
||||
|
||||
富士通
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="黑莓") 
|
||||
|
||||
--
|
||||
|
||||
黑莓
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="阿里巴巴") 
|
||||
|
||||
--
|
||||
|
||||
阿里巴巴
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="亚马逊") 
|
||||
|
||||
--
|
||||
|
||||
亚马逊
|
||||
|
||||
亞馬遜
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="電子灣") 
|
||||
|
||||
--
|
||||
|
||||
^^speak 電子灣
|
||||
|
||||
^^speak 億貝
|
||||
|
||||
^^speak 易贝
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="猫途鹰") 
|
||||
|
||||
--
|
||||
|
||||
猫途鹰
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="雅虎") 
|
||||
|
||||
--
|
||||
|
||||
雅虎
|
||||
|
||||
===
|
||||
|
||||
^^speak(s="威訊") /cdn.vox-cdn.com/uploads/chorus_image/image/47080648/Screen_Shot_2015-09-02_at_2.20.55_pm.0.0.png)
|
||||
|
||||
--
|
||||
|
||||
威訊
|
||||
@@ -0,0 +1,199 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
^^speak(s="长骨") 
|
||||
|
||||
--
|
||||
|
||||
長骨
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="肌肉") 
|
||||
|
||||
--
|
||||
|
||||
肌肉
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="胡须") 
|
||||
|
||||
--
|
||||
|
||||
^^speak 胡子
|
||||
|
||||
^^speak 胡须
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="大脑") 
|
||||
|
||||
--
|
||||
|
||||
大脑
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="大腿") 
|
||||
|
||||
--
|
||||
|
||||
大腿
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="鼻子") 👃
|
||||
|
||||
--
|
||||
|
||||
鼻子
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="眼睛") 👁
|
||||
|
||||
--
|
||||
|
||||
眼睛
|
||||
|
||||
--
|
||||
|
||||
^^speak 眼镜
|
||||
|
||||
👓
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="脚") 🦶
|
||||
|
||||
--
|
||||
|
||||
脚
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="食指") ☝️
|
||||
|
||||
--
|
||||
|
||||
食指
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="手掌") 🖐️
|
||||
|
||||
--
|
||||
|
||||
手掌
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="牙齿") 🦷
|
||||
|
||||
--
|
||||
|
||||
牙齿
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="嘴") 👄
|
||||
|
||||
--
|
||||
|
||||
嘴
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="舌头") 👅
|
||||
|
||||
--
|
||||
|
||||
舌头
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="心脏") ❤️
|
||||
|
||||
--
|
||||
|
||||
心脏
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="耳朵") 👂
|
||||
|
||||
--
|
||||
|
||||
耳朵
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="肺脏") 
|
||||
|
||||
--
|
||||
|
||||
肺脏
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="胃") 
|
||||
|
||||
--
|
||||
|
||||
胃
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="肝脏") 
|
||||
|
||||
--
|
||||
|
||||
肝脏
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="胆囊") 
|
||||
|
||||
--
|
||||
|
||||
胆囊
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="胰脏") 
|
||||
|
||||
--
|
||||
|
||||
胰脏
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="大肠") 
|
||||
|
||||
--
|
||||
|
||||
大肠
|
||||
|
||||
--
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
^^speak(s="小肠") 
|
||||
|
||||
--
|
||||
|
||||
小肠
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="子宫") 
|
||||
|
||||
--
|
||||
|
||||
子宫
|
||||
@@ -0,0 +1,131 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
^^speak(s="手插胸") 
|
||||
|
||||
--
|
||||
|
||||
手插胸
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="害羞") 
|
||||
|
||||
--
|
||||
|
||||
害羞
|
||||
|
||||
😊
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="生气") 
|
||||
|
||||
--
|
||||
|
||||
生气
|
||||
|
||||
😡
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="举手") 
|
||||
|
||||
--
|
||||
|
||||
举手
|
||||
|
||||
🙋♂️
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="睡醒") 
|
||||
|
||||
--
|
||||
|
||||
睡醒
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="跑") 
|
||||
|
||||
--
|
||||
|
||||
跑
|
||||
|
||||
🏃
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="摔倒") 
|
||||
|
||||
--
|
||||
|
||||
^^speak 摔倒
|
||||
|
||||
^^speak 跌倒
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="害怕") 
|
||||
|
||||
--
|
||||
|
||||
^^speak 害怕
|
||||
|
||||
^^speak 恐怕
|
||||
|
||||
^^speak 😨
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="蹲下") 
|
||||
|
||||
--
|
||||
|
||||
蹲下
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="咬耳朵") 
|
||||
|
||||
--
|
||||
|
||||
咬耳朵
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="起床晚") 
|
||||
|
||||
--
|
||||
|
||||
起床晚
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="睡午觉") 
|
||||
|
||||
--
|
||||
|
||||
睡午觉
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="跷二郎腿") 
|
||||
|
||||
--
|
||||
|
||||
跷二郎腿
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="泪流满面") 
|
||||
|
||||
--
|
||||
|
||||
泪流满面
|
||||
|
||||
〒▽〒
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
shuffle: true
|
||||
js:
|
||||
- https://patarapolw.github.io/s2speak/index.min.js?key=x
|
||||
---
|
||||
|
||||
^^speak(s="积极") 
|
||||
|
||||
--
|
||||
|
||||
积极
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="勇敢") 
|
||||
|
||||
--
|
||||
|
||||
勇敢
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="勤奋")  
|
||||
|
||||
--
|
||||
|
||||
聪明
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="健谈")  
|
||||
|
||||
--
|
||||
|
||||
懒惰
|
||||
|
||||
---
|
||||
|
||||
^^speak(s="固执")   | 氣缸
|
||||
烟灰缸 | yānhuīgāng | ashtray | 煙灰缸
|
||||
|
||||
---
|
||||
|
||||
^^speak 🧽
|
||||
|
||||
--
|
||||
|
||||
^^srs 🧽
|
||||
|
||||
--
|
||||
|
||||
海绵
|
||||
|
||||
--
|
||||
|
||||
海绵 | hǎimián | sponge (zoology) / sponge (piece of absorbent material, either natural or made from plastic etc) / foam rubber | 海綿
|
||||
海绵宝宝 | Hǎimián Bǎobǎo | SpongeBob SquarePants (US TV animated series, 1999-) | 海綿寶寶
|
||||
缠绵 | chánmián | touching (emotions) / lingering (illness) | 纏綿
|
||||
绵延 | miányán | continuous (esp. of mountain ranges) / to stretch long and unbroken / a continuous link / sostenuto (sustained, in music) | 綿延
|
||||
绵 | mián | silk floss / continuous / soft / weak / mild-mannered (dialect) | 綿,緜
|
||||
绵羊 | miányáng | sheep | 綿羊
|
||||
绵绵 | miánmián | continuous / uninterrupted | 綿綿
|
||||
|
||||
---
|
||||
|
||||
🚽
|
||||
|
||||
--
|
||||
|
||||
马桶
|
||||
|
||||
--
|
||||
|
||||
桶 | tǒng | bucket / (trash) can / barrel (of oil etc) / CL: 個|个, 隻|只
|
||||
马桶 | mǎtǒng | chamber pot / wooden pan used as toilet / toilet bowl | 馬桶
|
||||
水桶 | shuǐtǒng | bucket
|
||||
木桶 | mùtǒng | cask
|
||||
甬 | tǒng | variant of 桶, bucket / (classifier) cubic dry measure (5 pecks 五斗, approx half-liter)
|
||||
大桶 | dàtǒng | barrel / vat
|
||||
冰桶 | bīngtǒng | ice bucket
|
||||
半桶水 | bàntǒngshuǐ | (coll.) (of one's skills, knowledge etc) limited / superficial / half-baked / sb with a smattering of knowledge (of sth) / dabbler
|
||||
第一桶金 | dìyītǒngjīn | the first pot of gold / the initial profits from an economic endeavour
|
||||
|
||||
---
|
||||
|
||||
🚰
|
||||
|
||||
--
|
||||
|
||||
水龙头
|
||||
|
||||
---
|
||||
|
||||
📰
|
||||
|
||||
--
|
||||
|
||||
报纸
|
||||
|
||||
---
|
||||
|
||||
📻
|
||||
|
||||
--
|
||||
|
||||
收音机
|
||||
|
||||
---
|
||||
|
||||
📼
|
||||
|
||||
--
|
||||
|
||||
录像带
|
||||
|
||||
--
|
||||
|
||||
登录 | dēnglù | to register / to log in | 登錄
|
||||
记录 | jìlù | to record / record (written account) / note-taker / record (in sports etc) / CL: 個|个 | 記錄
|
||||
目录 | mùlù | catalog / table of contents / directory (on computer hard drive) / list / contents | 目錄
|
||||
纪录 | jìlù | variant of 記錄|记录 (but in Taiwan, not for the verb sense "to record")| 紀錄
|
||||
录 | lù | diary / record / to hit / to copy | 錄
|
||||
收录 | shōulù | to include (in a collection) / to put together (stories, poems etc) / to record / to employ / to recruit | 收錄
|
||||
录取 | lùqǔ | to accept an applicant (prospective student, employee etc) who passes an entrance exam / to admit (a student) / to hire (a job candidate) | 錄取
|
||||
录像 | lùxiàng | to videotape / to videorecord / video recording / CL: 盤|盘 | 錄像
|
||||
名录| mínglù | directory | 名錄
|
||||
纪录片 | jìlùpiàn | newsreel / documentary (film or TV program) / CL: 部 | 紀錄片
|
||||
录音 | lùyīn | to record (sound) / sound recording / CL: 個|个 | 錄音
|
||||
录制 | lùzhì | to record (video or audio) | 錄製
|
||||
|
||||
---
|
||||
|
||||
像
|
||||
|
||||
--
|
||||
|
||||
像 | xiàng | to resemble / to be like / to look as if / such as / appearance / image / portrait / image under a mapping (math.)
|
||||
影像 | yǐngxiàng | image
|
||||
图像 | túxiàng | image / picture / graphic | 圖像
|
||||
头像 | tóuxiàng | portrait / bust | 頭像
|
||||
录像 | lùxiàng | to videotape / to videorecord / video recording / CL: 盤|盘 | 錄像
|
||||
摄像 | shèxiàng | to videotape | 攝像
|
||||
镜像 | jìngxiàng | mirror image | 鏡像
|
||||
好像 | hǎoxiàng | as if / to seem like
|
||||
|
||||
---
|
||||
|
||||
🔈
|
||||
|
||||
--
|
||||
|
||||
扬声器
|
||||
|
||||
--
|
||||
|
||||
扬 | yáng | to raise / to hoist / the action of tossing or winnowing / scattering (in the wind) / to flutter / to propagate | 揚,敭
|
||||
弘扬 | hóngyáng | to enhance / to promote / to enrich | 弘揚
|
||||
发扬 | fāyáng | to develop / to make full use of | 發揚
|
||||
|
||||
---
|
||||
|
||||
器
|
||||
|
||||
--
|
||||
|
||||
器 | qì | device / tool / utensil / CL: 臺|台
|
||||
服务器 | fúwùqì | server (computer) / CL: 臺|台 | 服務器
|
||||
浏览器 | liúlǎnqì | browser (software) | 瀏覽器
|
||||
电器 | diànqì | (electrical) appliance / device | 電器
|
||||
仪器 | yíqì | instrument / apparatus / CL: 臺|台 | 儀器
|
||||
器械 | qìxiè | apparatus / instrument / equipment / weapon
|
||||
机器 | jīqì | machine / CL: 臺|台, 部, 個|个 | 機器
|
||||
计算器 | jìsuànqì | calculator / calculating machine | 計算器
|
||||
机器人 | jīqìrén | mechanical person / robot / android | 機器人
|
||||
武器 | wǔqì | weapon / arms / CL: 種|种
|
||||
|
||||
---
|
||||
|
||||
📺
|
||||
|
||||
--
|
||||
|
||||
电视
|
||||
|
||||
---
|
||||
|
||||
🛋
|
||||
|
||||
--
|
||||
沙发
|
||||
|
||||
---
|
||||
|
||||
⏯
|
||||
|
||||
--
|
||||
|
||||
播放
|
||||
|
||||
--
|
||||
|
||||
传播 | chuánbō | to disseminate / to propagate / to spread | 傳播
|
||||
播放 | bōfàng | to broadcast / to transmit
|
||||
广播 | guǎngbō | broadcast / CL: 個|个 / broadcasting / to broadcast / (formal) to propagate / to publicize | 廣播
|
||||
直播 | zhíbō | live broadcast (not recorded) / direct Internet broadcasting / (agriculture) direct seeding
|
||||
主播 | zhǔbō | anchor (TV)
|
||||
播 | bō | to sow / to scatter / to spread / to broadcast / Taiwan pr. [bo4]
|
||||
播放列表 | bōfànglièbiǎo | playlist
|
||||
联播 | liánbō | to broadcast over a network / (radio or TV) hookup / simulcast | 聯播
|
||||
点播 | diǎnbō | webcast / to request item for broadcast on radio program / dibble seeding / spot seeding | 點播
|
||||
播出 | bōchū | to broadcast / to air (a TV program etc)
|
||||
播客 | bōkè | radio broadcast / podcast / Internet audio subscription service
|
||||
播报 | bōbào | to announce / to read (the news) | 播報
|
||||
重播 | chóngbō | to replay / to rerun / (agriculture) to reseed / to oversow
|
||||
转播 | zhuǎnbō | relay / broadcast (on radio or TV) | 轉播
|
||||
播音 | bōyīn | to transmit / to broadcast
|
||||
播种 | bōzhǒng | to sow seeds / sowing / seed | 播種
|
||||
现场直播 | xiànchǎngzhíbō | on-the-spot live broadcast | 現場直播
|
||||
广播电台 | guǎngbōdiàntái | radio station | 廣播電台
|
||||
|
||||
---
|
||||
|
||||
放
|
||||
|
||||
--
|
||||
|
||||
放 | fàng | to put / to place / to release / to free / to let go / to let out / to set off (fireworks)
|
||||
开放 | kāifàng | to bloom / to open / to be open (to the public) / to open up (to the outside) / to be open-minded / unrestrained by convention / unconstrained in one's sexuality | 開放
|
||||
播放 | bōfàng | to broadcast / to transmit
|
||||
放大 | fàngdà | to enlarge / to magnify
|
||||
|
||||
---
|
||||
|
||||
👪
|
||||
|
||||
--
|
||||
|
||||
家庭
|
||||
@@ -0,0 +1,367 @@
|
||||
---
|
||||
title: 交通 listening quiz
|
||||
shuffle: true
|
||||
---
|
||||
|
||||
|
||||
^^speak(lang="zh" s="交通岛") Click to speak
|
||||
|
||||
--
|
||||
|
||||
交通岛
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="路标") Click to speak
|
||||
|
||||
--
|
||||
|
||||
路标
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="道路交通标志") Click to speak
|
||||
|
||||
--
|
||||
|
||||
道路交通标志
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="铁路道口") Click to speak
|
||||
|
||||
--
|
||||
|
||||
铁路道口
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="车道") Click to speak
|
||||
|
||||
--
|
||||
|
||||
车道
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="胡同") Click to speak
|
||||
|
||||
--
|
||||
|
||||
胡同
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="巷子") Click to speak
|
||||
|
||||
--
|
||||
|
||||
巷子
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="车道树") Click to speak
|
||||
|
||||
--
|
||||
|
||||
车道树
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="交通警察") Click to speak
|
||||
|
||||
--
|
||||
|
||||
交通警察
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="公共电话亭") Click to speak
|
||||
|
||||
--
|
||||
|
||||
公共电话亭
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="邮筒") Click to speak
|
||||
|
||||
--
|
||||
|
||||
邮筒
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="油桶") Click to speak
|
||||
|
||||
--
|
||||
|
||||
油桶
|
||||
|
||||
🛢
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="街道") Click to speak
|
||||
|
||||
--
|
||||
|
||||
街道
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="单行线") Click to speak
|
||||
|
||||
--
|
||||
|
||||
单行线
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="高速公路") Click to speak
|
||||
|
||||
--
|
||||
|
||||
高速公路
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="人行道") Click to speak
|
||||
|
||||
--
|
||||
|
||||
人行道
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="人行横道") Click to speak
|
||||
|
||||
--
|
||||
|
||||
人行横道
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="斑马线") Click to speak
|
||||
|
||||
--
|
||||
|
||||
斑马线
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="上坡路") Click to speak
|
||||
|
||||
--
|
||||
|
||||
上坡路
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="下坡路") Click to speak
|
||||
|
||||
--
|
||||
|
||||
下坡路
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="掉头车道") Click to speak
|
||||
|
||||
--
|
||||
|
||||
掉头车道
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="停车场") Click to speak
|
||||
|
||||
--
|
||||
|
||||
停车场
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="路标") Click to speak
|
||||
|
||||
--
|
||||
|
||||
路标
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="公共汽车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
公共汽车
|
||||
|
||||
🚌
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="公共汽车站") Click to speak
|
||||
|
||||
--
|
||||
|
||||
公共汽车站
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="绿灯") Click to speak
|
||||
|
||||
--
|
||||
|
||||
绿灯
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="红灯") Click to speak
|
||||
|
||||
--
|
||||
|
||||
红灯
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="立交桥") Click to speak
|
||||
|
||||
--
|
||||
|
||||
立交桥
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="天桥") Click to speak
|
||||
|
||||
--
|
||||
|
||||
天桥
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="交通灯") Click to speak
|
||||
|
||||
--
|
||||
|
||||
交通灯
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="红绿灯") Click to speak
|
||||
|
||||
--
|
||||
|
||||
红绿灯
|
||||
|
||||
🚥
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="丁字路口") Click to speak
|
||||
|
||||
--
|
||||
|
||||
丁字路口
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="十字路口") Click to speak
|
||||
|
||||
--
|
||||
|
||||
十字路口
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="街角") Click to speak
|
||||
|
||||
--
|
||||
|
||||
街角
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="隧道") Click to speak
|
||||
|
||||
--
|
||||
|
||||
隧道
|
||||
|
||||
|
||||
===
|
||||
|
||||
|
||||
^^speak(lang="zh" s="黄灯") Click to speak
|
||||
|
||||
--
|
||||
|
||||
黄灯
|
||||
@@ -0,0 +1,387 @@
|
||||
---
|
||||
title: 火车站 vocab
|
||||
shuffle: true
|
||||
---
|
||||
|
||||
^^speak(lang="zh" s="火车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
火车
|
||||
|
||||
🚄
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="自动售票机") Click to speak
|
||||
|
||||
--
|
||||
|
||||
自动售票机
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="搬运工人") Click to speak
|
||||
|
||||
--
|
||||
|
||||
搬运工人
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="铁路工作人员") Click to speak
|
||||
|
||||
--
|
||||
|
||||
铁路工作人员
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="售票处") Click to speak
|
||||
|
||||
--
|
||||
|
||||
售票处
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="门票") Click to speak
|
||||
|
||||
--
|
||||
|
||||
门票
|
||||
|
||||
🎫
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="二等") Click to speak
|
||||
|
||||
--
|
||||
|
||||
二等
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="三等") Click to speak
|
||||
|
||||
--
|
||||
|
||||
三等
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="一等") Click to speak
|
||||
|
||||
--
|
||||
|
||||
一等
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="月台") Click to speak
|
||||
|
||||
--
|
||||
|
||||
月台
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="枢纽站") Click to speak
|
||||
|
||||
--
|
||||
|
||||
枢纽站
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="票") Click to speak
|
||||
|
||||
--
|
||||
|
||||
票
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="列车时刻表") Click to speak
|
||||
|
||||
--
|
||||
|
||||
列车时刻表
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="卧铺") Click to speak
|
||||
|
||||
--
|
||||
|
||||
卧铺
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="行李列车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
行李列车
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="货运列车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
货运列车
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="餐车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
餐车
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="入口") Click to speak
|
||||
|
||||
--
|
||||
|
||||
入口
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="地下过道") Click to speak
|
||||
|
||||
--
|
||||
|
||||
地下过道
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="出口") Click to speak
|
||||
|
||||
--
|
||||
|
||||
出口
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="列车员") Click to speak
|
||||
|
||||
--
|
||||
|
||||
列车员
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="售货亭") Click to speak
|
||||
|
||||
--
|
||||
|
||||
售货亭
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="留言板") Click to speak
|
||||
|
||||
--
|
||||
|
||||
留言板
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="特快列车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
特快列车
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="特别加快列车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
特别加快列车
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="普通列车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
普通列车
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="观光列车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
观光列车
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="青藏铁路") Click to speak
|
||||
|
||||
--
|
||||
|
||||
青藏铁路
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="地铁") Click to speak
|
||||
|
||||
--
|
||||
|
||||
地铁
|
||||
|
||||
🚇
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="夜行列车") Click to speak
|
||||
|
||||
--
|
||||
|
||||
夜行列车
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="火车去") Click to speak
|
||||
|
||||
--
|
||||
|
||||
火车去
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="轻轨") Click to speak
|
||||
|
||||
--
|
||||
|
||||
轻轨
|
||||
|
||||
🚈
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="铁道") Click to speak
|
||||
|
||||
--
|
||||
|
||||
铁道
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="游客中心") Click to speak
|
||||
|
||||
--
|
||||
|
||||
游客中心
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="始发站") Click to speak
|
||||
|
||||
--
|
||||
|
||||
始发站
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="终点站") Click to speak
|
||||
|
||||
--
|
||||
|
||||
终点站
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="行李") Click to speak
|
||||
|
||||
--
|
||||
|
||||
行李
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="火车线") Click to speak
|
||||
|
||||
--
|
||||
|
||||
火车线
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="补票处") Click to speak
|
||||
|
||||
--
|
||||
|
||||
补票处
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="遗失物品") Click to speak
|
||||
|
||||
--
|
||||
|
||||
遗失物品
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="行李寄存处") Click to speak
|
||||
|
||||
--
|
||||
|
||||
行李寄存处
|
||||
|
||||
|
||||
===
|
||||
|
||||
^^speak(lang="zh" s="候车室") Click to speak
|
||||
|
||||
--
|
||||
|
||||
候车室
|
||||
@@ -0,0 +1,142 @@
|
||||
<template lang="pug">
|
||||
section
|
||||
b-navbar.navbar-shadow.noscroll.is-fixed-top(style="max-width: 100vw;")
|
||||
template(slot="brand")
|
||||
div(style="display: inline-flex; overflow: auto; max-width: calc(100vw - 3.25rem); flex-grow: 1")
|
||||
b-navbar-item(tag="router-link" to="/")
|
||||
h1.bold {{banner}}
|
||||
template(slot="start")
|
||||
b-navbar-item(v-for="t in tabs" @click="t.to ? $router.push(t.to) : open(t.url)" :key="t.name") {{t.name}}
|
||||
template(slot="end")
|
||||
form.field.m-sm.px-md(@submit.prevent="onSearch")
|
||||
.control.has-icons-right
|
||||
input.input.is-rounded(type="search" placeholder="Search" v-model="q")
|
||||
span.icon.is-right
|
||||
fa(icon="search")
|
||||
section(style="margin-top: 3.25rem")
|
||||
.container
|
||||
.columns
|
||||
main.column.is-8
|
||||
nuxt
|
||||
aside.column
|
||||
section
|
||||
.card.my-lg
|
||||
header.card-header
|
||||
p.card-header-title Tag cloud
|
||||
.card-content(style="word-break: break-word")
|
||||
span.bn-tag(v-for="t in tags" :key="t.name")
|
||||
a(:class="t.class" href="#" @click="$router.push('/tag/' + t.name)") {{t.name}}
|
||||
.card.my-lg
|
||||
a.twitter-timeline(data-height="800" href="https://twitter.com/ChinesePol") Tweets by ChinesePol
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import PageSocial from '@/components/PageSocial.vue'
|
||||
import { Vue, Component } from 'nuxt-property-decorator'
|
||||
import { normalizeArray, TAGS } from '@/assets/util'
|
||||
|
||||
@Component
|
||||
export default class Default extends Vue {
|
||||
banner = '中文 Diary'
|
||||
tabs = [
|
||||
{
|
||||
name: '千字文',
|
||||
to: '/tag/千字文',
|
||||
},
|
||||
{
|
||||
name: 'GitHub',
|
||||
url: 'https://github.com/patarapolw/zhdiary',
|
||||
},
|
||||
]
|
||||
|
||||
q = ''
|
||||
|
||||
get tags () {
|
||||
const tagList = TAGS
|
||||
|
||||
return Object.keys(tagList).sort((a, b) => {
|
||||
return tagList[b] - tagList[a]
|
||||
}).slice(0, 30).map((t) => {
|
||||
if (t === 'pinned') {
|
||||
return null
|
||||
}
|
||||
return {
|
||||
name: t,
|
||||
class: (() => {
|
||||
const count = tagList[t]
|
||||
if (count > 20) {
|
||||
return 'c20'
|
||||
} else if (count > 10) {
|
||||
return 'c10'
|
||||
} else if (count > 5) {
|
||||
return 'c5'
|
||||
} else if (count > 3) {
|
||||
return 'c3'
|
||||
} else if (count > 1) {
|
||||
return 'c2'
|
||||
}
|
||||
return 'c1'
|
||||
})(),
|
||||
}
|
||||
}).filter((el) => el)
|
||||
}
|
||||
|
||||
mounted () {
|
||||
this.q = normalizeArray(this.$route.query.q) || ''
|
||||
}
|
||||
|
||||
onSearch () {
|
||||
this.$router.push({
|
||||
path: '/',
|
||||
query: { q: this.q },
|
||||
})
|
||||
}
|
||||
|
||||
open (url: string) {
|
||||
open(url, '_blank')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.navbar-shadow {
|
||||
$n: 0.1rem;
|
||||
|
||||
box-shadow: 0 $n $n rgba(0,0,0,.13),
|
||||
$n $n $n rgba(0,0,0,.1),
|
||||
-$n -$n $n rgba(0,0,0,.05);
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.w-100 {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.bn-tag {
|
||||
white-space: nowrap;
|
||||
margin-right: 10px;
|
||||
$c-size: .6em;
|
||||
.c20 {
|
||||
font-size: 10 * $c-size;
|
||||
}
|
||||
.c10 {
|
||||
font-size: 5 * $c-size;
|
||||
}
|
||||
.c5 {
|
||||
font-size: 3 * $c-size;
|
||||
}
|
||||
.c3 {
|
||||
font-size: 2 * $c-size;
|
||||
}
|
||||
.c2 {
|
||||
font-size: 1.5 * $c-size;
|
||||
}
|
||||
.c1 {
|
||||
font-size: $c-size;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,10 +1,10 @@
|
||||
<template lang="pug">
|
||||
:markdown
|
||||
### Sorry, but no post can be found.
|
||||
nuxt
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue'
|
||||
import '@/assets/global'
|
||||
export default Vue.extend({
|
||||
|
||||
})
|
||||
@@ -0,0 +1,8 @@
|
||||
# MIDDLEWARE
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your application middleware.
|
||||
Middleware let you define custom functions that can be run before rendering either a page or a group of pages.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).
|
||||
@@ -0,0 +1,114 @@
|
||||
import { Configuration } from '@nuxt/types'
|
||||
import tag from './static/build/tag/posts.json'
|
||||
import posts from './static/build/header/posts.json'
|
||||
|
||||
const config: Configuration = {
|
||||
mode: 'universal',
|
||||
/*
|
||||
** Headers of the page
|
||||
*/
|
||||
head: {
|
||||
title: '中文 Diary',
|
||||
meta: [
|
||||
{ charset: 'utf-8' },
|
||||
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
||||
{ hid: 'description', name: 'description', content: process.env.npm_package_description || '' },
|
||||
],
|
||||
link: [
|
||||
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
|
||||
],
|
||||
script: [
|
||||
{ src: 'https://platform.twitter.com/widgets.js', async: true, charset: 'utf-8' },
|
||||
],
|
||||
},
|
||||
/*
|
||||
** Customize the progress-bar color
|
||||
*/
|
||||
loading: { color: '#fff' },
|
||||
/*
|
||||
** Global CSS
|
||||
*/
|
||||
css: [
|
||||
'@fortawesome/fontawesome-svg-core/styles.css',
|
||||
'~/assets/app.scss',
|
||||
],
|
||||
/*
|
||||
** Plugins to load before mounting the App
|
||||
*/
|
||||
plugins: [
|
||||
'~/plugins/disqus',
|
||||
'~/plugins/fontawesome',
|
||||
],
|
||||
/*
|
||||
** Nuxt.js dev-modules
|
||||
*/
|
||||
buildModules: [
|
||||
'@nuxt/typescript-build',
|
||||
],
|
||||
/*
|
||||
** Nuxt.js modules
|
||||
*/
|
||||
modules: [
|
||||
// Doc: https://buefy.github.io/#/documentation
|
||||
['nuxt-buefy', {
|
||||
materialDesignIcons: false,
|
||||
defaultIconPack: 'fa',
|
||||
defaultIconComponent: 'fa',
|
||||
}],
|
||||
['nuxt-mq', {
|
||||
defaultBreakpoint: 'desktop',
|
||||
breakpoints: {
|
||||
mobile: 500,
|
||||
tablet: 1024,
|
||||
desktop: Infinity,
|
||||
},
|
||||
}],
|
||||
// Doc: https://axios.nuxtjs.org/usage
|
||||
'@nuxtjs/axios',
|
||||
'nuxt-payload-extractor',
|
||||
['@nuxtjs/google-analytics', {
|
||||
id: 'UA-146246917-2',
|
||||
}],
|
||||
],
|
||||
/*
|
||||
** Axios module configuration
|
||||
** See https://axios.nuxtjs.org/options
|
||||
*/
|
||||
axios: {
|
||||
},
|
||||
/*
|
||||
** Build configuration
|
||||
*/
|
||||
build: {
|
||||
/*
|
||||
** You can extend webpack config here
|
||||
*/
|
||||
extend (config, ctx) {
|
||||
config.module?.rules!.push({
|
||||
test: /\.md$/,
|
||||
use: [
|
||||
'raw-loader',
|
||||
],
|
||||
})
|
||||
},
|
||||
},
|
||||
generate: {
|
||||
routes: [
|
||||
...Object.keys(tag).map((el) => `/tag/${el}`),
|
||||
...Object.values(posts).map((el) => {
|
||||
return el.y && el.mo ? `/post/${el.y}/${el.mo}/${el.name}` : `/post/${el.name}`
|
||||
}),
|
||||
],
|
||||
fallback: true,
|
||||
},
|
||||
env: {
|
||||
title: '中文 Diary',
|
||||
tags: JSON.stringify(tag),
|
||||
hash: JSON.stringify({
|
||||
posts: require('./static/build/hash/posts.json'),
|
||||
slides: require('./static/build/hash/slides.json'),
|
||||
}),
|
||||
},
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"name": "zhdiary",
|
||||
"version": "1.0.0",
|
||||
"description": "My journey to Chinese language",
|
||||
"author": "Pacharapol Withayasakpunt",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "nuxt-ts",
|
||||
"build": "nuxt-ts build",
|
||||
"generate": "nuxt-ts generate",
|
||||
"start": "nuxt-ts start",
|
||||
"build-api": "ts-node -O '{\"module\": \"commonjs\"}' utils/build-api.ts",
|
||||
"prebuild": "yarn build-api",
|
||||
"pregenerate": "yarn build-api",
|
||||
"deploy": "yarn generate && netlify deploy --dir dist"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-svg-core": "^1.2.26",
|
||||
"@fortawesome/free-solid-svg-icons": "^5.12.0",
|
||||
"@fortawesome/vue-fontawesome": "^0.1.9",
|
||||
"@nuxt/typescript-runtime": "^0.3.4",
|
||||
"@nuxtjs/axios": "^5.3.6",
|
||||
"@nuxtjs/google-analytics": "^2.2.2",
|
||||
"@types/cheerio": "^0.22.15",
|
||||
"@types/fs-extra": "^8.0.1",
|
||||
"@types/html-to-text": "^1.4.31",
|
||||
"@types/hyperscript": "^0.0.3",
|
||||
"@types/reveal": "^3.3.33",
|
||||
"@types/showdown": "^1.9.3",
|
||||
"cheerio": "^1.0.0-rc.3",
|
||||
"fast-glob": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.1.0",
|
||||
"fs-extra": "^8.1.0",
|
||||
"gray-matter": "^4.0.2",
|
||||
"html-to-text": "^5.1.1",
|
||||
"hyperpug": "^0.2.1",
|
||||
"hyperscript": "^2.0.2",
|
||||
"indented-filter": "^0.1.1",
|
||||
"moment": "^2.24.0",
|
||||
"nuxt": "^2.0.0",
|
||||
"nuxt-buefy": "^0.3.2",
|
||||
"nuxt-mq": "^2.0.1",
|
||||
"nuxt-payload-extractor": "^0.0.14",
|
||||
"nuxt-property-decorator": "^2.5.0",
|
||||
"q2filter": "^1.1.0",
|
||||
"scope-css": "^1.2.1",
|
||||
"short-hash": "^1.0.0",
|
||||
"showdown": "^1.9.1",
|
||||
"vue-disqus": "^3.0.5",
|
||||
"vuex-module-decorators": "^0.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nuxt/typescript-build": "^0.5.3",
|
||||
"@types/webpack-env": "^1.14.1",
|
||||
"pug": "^2.0.4",
|
||||
"pug-plain-loader": "^1.0.0",
|
||||
"raw-loader": "^4.0.0",
|
||||
"sass": "^1.24.0",
|
||||
"sass-loader": "^8.0.0",
|
||||
"ts-node": "^8.5.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": "10.x",
|
||||
"yarn": "*"
|
||||
},
|
||||
"resolutions": {
|
||||
"**/**/serialize-javascript": "^2.1.1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<template lang="pug">
|
||||
post-query(:defaults="defaults")
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Vue, Component } from 'nuxt-property-decorator'
|
||||
import PostQuery from '@/components/PostQuery.vue'
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
PostQuery,
|
||||
},
|
||||
})
|
||||
export default class PageIndex extends Vue {
|
||||
defaults = {
|
||||
posts: [],
|
||||
count: 0,
|
||||
}
|
||||
|
||||
async asyncData ({ $axios, $payloadURL, route }: any) {
|
||||
if (process.static && process.client && $payloadURL) {
|
||||
return $axios.$get($payloadURL(route))
|
||||
}
|
||||
|
||||
const now = new Date().toISOString()
|
||||
let ps: any[] = require('@/static/build/header/posts.json')
|
||||
ps = ps.filter((p) => p.date && p.date < now && p.path.startsWith('blog/'))
|
||||
|
||||
const posts = ps.slice(0, 5).map((h) => {
|
||||
h.teaser = require(`@/static/build/teaser/${h.path}`).default
|
||||
return h
|
||||
})
|
||||
|
||||
return {
|
||||
defaults: {
|
||||
posts,
|
||||
count: ps.length,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,91 @@
|
||||
<template lang="pug">
|
||||
post-full(:header="header")
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Vue, Component } from 'nuxt-property-decorator'
|
||||
import PostFull from '@/components/PostFull.vue'
|
||||
import htmlToText from 'html-to-text'
|
||||
import { apiHash, HASH } from '@/assets/util'
|
||||
import MakeHtml from '@/assets/make-html'
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
PostFull,
|
||||
},
|
||||
})
|
||||
export default class PostPage extends Vue {
|
||||
header: any = {}
|
||||
|
||||
async asyncData ({ params, error, redirect }: any) {
|
||||
const ps: any[] = JSON.parse(await apiHash('/build/header/posts.json', HASH.posts._header))
|
||||
const header = ps.filter((p) => p.name === params.name)[0]
|
||||
|
||||
if (!header) {
|
||||
return error({ statusCode: 404, message: 'Post not found' })
|
||||
}
|
||||
|
||||
if (header.y && header.mo) {
|
||||
return redirect(encodeURI(`/post/${header.y}/${header.mo}/${params.name}`))
|
||||
}
|
||||
|
||||
header.teaser = await apiHash(`/build/teaser/${header.path}`, HASH.posts[header.path])
|
||||
|
||||
return {
|
||||
header,
|
||||
}
|
||||
}
|
||||
|
||||
head () {
|
||||
let { title } = this.header
|
||||
title = `${title} - ${process.env.title}`
|
||||
const description = htmlToText.fromString(this.header.teaser)
|
||||
|
||||
return {
|
||||
title,
|
||||
meta: [
|
||||
{
|
||||
hid: 'description',
|
||||
name: 'description',
|
||||
content: description,
|
||||
},
|
||||
{
|
||||
hid: 'keywords',
|
||||
name: 'keywords',
|
||||
content: (this.header.tag || []).join(', '),
|
||||
},
|
||||
{
|
||||
hid: 'og:title',
|
||||
property: 'og:title',
|
||||
content: title,
|
||||
},
|
||||
{
|
||||
hid: 'og:description',
|
||||
property: 'og:description',
|
||||
content: description,
|
||||
},
|
||||
{
|
||||
hid: 'og:image',
|
||||
property: 'og:image',
|
||||
content: this.header.image,
|
||||
},
|
||||
{
|
||||
hid: 'twitter:title',
|
||||
property: 'twitter:title',
|
||||
content: title,
|
||||
},
|
||||
{
|
||||
hid: 'twitter:description',
|
||||
property: 'twitter:description',
|
||||
content: description,
|
||||
},
|
||||
{
|
||||
hid: 'twitter:image',
|
||||
property: 'twitter:image',
|
||||
content: this.header.image,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,89 @@
|
||||
<template lang="pug">
|
||||
post-full(:header="header")
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Vue, Component } from 'nuxt-property-decorator'
|
||||
import PostFull from '@/components/PostFull.vue'
|
||||
import htmlToText from 'html-to-text'
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
PostFull,
|
||||
},
|
||||
})
|
||||
export default class PostPage extends Vue {
|
||||
header: any = {}
|
||||
|
||||
async asyncData ({ $axios, $payloadURL, route, params, error }: any) {
|
||||
if (process.static && process.client && $payloadURL) {
|
||||
return $axios.$get($payloadURL(route))
|
||||
}
|
||||
|
||||
const ps: any[] = require('@/static/build/header/posts.json')
|
||||
const header = ps.filter((p) => p.name === params.name && p.y === params.y && p.mo === params.mo)[0]
|
||||
|
||||
if (!header) {
|
||||
return error({ statusCode: 404, message: 'Post not found' })
|
||||
}
|
||||
|
||||
header.teaser = require(`@/static/build/teaser/${header.path}`).default
|
||||
|
||||
return {
|
||||
header,
|
||||
}
|
||||
}
|
||||
|
||||
head () {
|
||||
let { title } = this.header
|
||||
title = `${title} - ${process.env.title}`
|
||||
const description = htmlToText.fromString(this.header.teaser)
|
||||
|
||||
return {
|
||||
title,
|
||||
meta: [
|
||||
{
|
||||
hid: 'description',
|
||||
name: 'description',
|
||||
content: description,
|
||||
},
|
||||
{
|
||||
hid: 'keywords',
|
||||
name: 'keywords',
|
||||
content: (this.header.tag || []).join(', '),
|
||||
},
|
||||
{
|
||||
hid: 'og:title',
|
||||
property: 'og:title',
|
||||
content: title,
|
||||
},
|
||||
{
|
||||
hid: 'og:description',
|
||||
property: 'og:description',
|
||||
content: description,
|
||||
},
|
||||
{
|
||||
hid: 'og:image',
|
||||
property: 'og:image',
|
||||
content: this.header.image,
|
||||
},
|
||||
{
|
||||
hid: 'twitter:title',
|
||||
property: 'twitter:title',
|
||||
content: title,
|
||||
},
|
||||
{
|
||||
hid: 'twitter:description',
|
||||
property: 'twitter:description',
|
||||
content: description,
|
||||
},
|
||||
{
|
||||
hid: 'twitter:image',
|
||||
property: 'twitter:image',
|
||||
content: this.header.image,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,402 @@
|
||||
<template lang="pug">
|
||||
div(style="width: 100vw; height: 100vh")
|
||||
#global
|
||||
.reveal
|
||||
.slides
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Vue, Component } from 'nuxt-property-decorator'
|
||||
import MakeHtml from '@/assets/make-html'
|
||||
import matter from 'gray-matter'
|
||||
import { apiHash, HASH } from '@/assets/util'
|
||||
// @ts-ignore
|
||||
import shortHash from 'short-hash'
|
||||
import $ from 'cheerio'
|
||||
// @ts-ignore
|
||||
import scopeCss from 'scope-css'
|
||||
import h from 'hyperscript'
|
||||
import qs from 'querystring'
|
||||
import stringify from 'fast-json-stable-stringify'
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
Reveal: RevealStatic
|
||||
hljs: any
|
||||
revealMd: RevealMd
|
||||
}
|
||||
}
|
||||
|
||||
export interface ISlide {
|
||||
id: string
|
||||
type: 'hidden' | 'global' | 'regular'
|
||||
html: string
|
||||
raw: string
|
||||
}
|
||||
|
||||
const revealCdn = 'https://cdn.jsdelivr.net/npm/reveal.js@3.8.0/'
|
||||
const makeHtml = new MakeHtml()
|
||||
|
||||
@Component({
|
||||
layout: 'full',
|
||||
watchQuery: ['path'],
|
||||
})
|
||||
export default class RevealMd extends Vue {
|
||||
trueHeader: any = {}
|
||||
trueMarkdown = ''
|
||||
queue: Array<(r?: RevealStatic) => void> = []
|
||||
raw: ISlide[][] = [[]]
|
||||
|
||||
title = ''
|
||||
defaults = {
|
||||
header: {},
|
||||
markdown: '',
|
||||
}
|
||||
|
||||
isReady = false
|
||||
|
||||
async asyncData ({ $axios, query }: any) {
|
||||
const { path } = query
|
||||
|
||||
if (path) {
|
||||
try {
|
||||
const raw = await apiHash(`/build/slides/${path}`, HASH.slides[path as string])
|
||||
const { data, content } = matter(raw)
|
||||
|
||||
return {
|
||||
defaults: {
|
||||
header: data,
|
||||
markdown: content,
|
||||
},
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
|
||||
return {}
|
||||
}
|
||||
|
||||
head () {
|
||||
return {
|
||||
title: this.title,
|
||||
link: [
|
||||
{
|
||||
rel: 'stylesheet',
|
||||
href: `${revealCdn}css/reveal.css`,
|
||||
type: 'text/css',
|
||||
},
|
||||
{
|
||||
rel: 'stylesheet',
|
||||
href: `${revealCdn}css/theme/white.css`,
|
||||
type: 'text/css',
|
||||
id: 'reveal-theme',
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
async mounted () {
|
||||
let currentSlide = ''
|
||||
|
||||
if (process.client) {
|
||||
window.revealMd = this
|
||||
|
||||
const { path } = this.$route.query
|
||||
if (!this.defaults.markdown && path) {
|
||||
try {
|
||||
const raw = await apiHash(`/build/slides/${path}`, HASH.slides[path as string])
|
||||
const { data, content } = matter(raw)
|
||||
|
||||
this.defaults.markdown = content
|
||||
this.defaults.header = data
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
|
||||
this.markdown = this.defaults.markdown
|
||||
this.header = this.defaults.header
|
||||
this.onReady(() => {
|
||||
if (currentSlide) {
|
||||
location.hash = currentSlide
|
||||
}
|
||||
})
|
||||
|
||||
currentSlide = location.hash.replace(/^#/, '')
|
||||
const script = document.createElement('script')
|
||||
script.onload = () => {
|
||||
window.Reveal.initialize({
|
||||
slideNumber: true,
|
||||
// @ts-ignore
|
||||
hash: true,
|
||||
dependencies: [
|
||||
{
|
||||
src: `${revealCdn}plugin/highlight/highlight.js`,
|
||||
async: true,
|
||||
},
|
||||
],
|
||||
})
|
||||
window.Reveal.addEventListener('ready', () => {
|
||||
this.isReady = true
|
||||
})
|
||||
}
|
||||
script.src = `${revealCdn}js/reveal.min.js`
|
||||
document.body.appendChild(script)
|
||||
}
|
||||
}
|
||||
|
||||
get header (): RevealOptions & {
|
||||
theme?: string
|
||||
title?: string
|
||||
} {
|
||||
return this.trueHeader || {}
|
||||
}
|
||||
|
||||
set header (h) {
|
||||
const { theme, title, ...subH } = h
|
||||
|
||||
this.theme = theme || 'white'
|
||||
this.title = title || ''
|
||||
|
||||
if (stringify(this.trueHeader) === stringify(subH)) {
|
||||
return
|
||||
}
|
||||
|
||||
this.onReady(() => {
|
||||
window.Reveal.configure(subH)
|
||||
})
|
||||
|
||||
this.trueHeader = subH
|
||||
}
|
||||
|
||||
get markdown () {
|
||||
return this.trueMarkdown
|
||||
}
|
||||
|
||||
set markdown (s: string) {
|
||||
this.trueMarkdown = s
|
||||
|
||||
const globalEl = this.$el.querySelector('#global') as HTMLElement
|
||||
Array.from(globalEl.querySelectorAll('style.ref')).map((el) => el.remove())
|
||||
|
||||
let xOffset = 0
|
||||
const newRaw = s.split(/\r?\n(?:===|---)\r?\n/g).map((el, x) => {
|
||||
this.raw[x] = this.raw[x] || []
|
||||
const newRawSs = el.split(/\r?\n--\r?\n/g).map((ss) => this.parseSlide(ss))
|
||||
if (newRawSs.every((ss) => !ss.html)) {
|
||||
xOffset++
|
||||
}
|
||||
|
||||
x -= xOffset
|
||||
|
||||
let yOffset = 0
|
||||
return newRawSs.map((thisRaw, y) => {
|
||||
if (!thisRaw.html) {
|
||||
yOffset++
|
||||
return
|
||||
}
|
||||
|
||||
y -= yOffset
|
||||
|
||||
let section = this.getSlide(x)
|
||||
let subSection = this.getSlide(x, y)
|
||||
|
||||
if (!this.raw[x][y] || (this.raw[x][y] && this.raw[x][y].raw !== thisRaw.raw)) {
|
||||
const container = document.createElement('div')
|
||||
container.className = 'container'
|
||||
container.innerHTML = thisRaw.html
|
||||
|
||||
if (section && subSection) {
|
||||
const oldContainers = subSection.getElementsByClassName('container')
|
||||
Array.from(oldContainers).forEach((el) => el.remove())
|
||||
subSection.appendChild(container)
|
||||
} else {
|
||||
subSection = document.createElement('section')
|
||||
subSection.append(container)
|
||||
|
||||
if (section) {
|
||||
section.appendChild(subSection)
|
||||
} else {
|
||||
section = document.createElement('section')
|
||||
section.appendChild(subSection)
|
||||
this.$el.querySelector('.reveal .slides')!.appendChild(section)
|
||||
}
|
||||
}
|
||||
|
||||
Array.from(container.querySelectorAll('pre code:not(.hljs)')).forEach((el) => {
|
||||
if (window.hljs) {
|
||||
window.hljs.highlightBlock(el)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return thisRaw
|
||||
}).filter((el) => el)
|
||||
}).filter((el) => el && el.length > 0) as ISlide[][]
|
||||
|
||||
this.raw.map((el, x) => {
|
||||
el.map((ss, j) => {
|
||||
const y = el.length - j - 1
|
||||
|
||||
if (!newRaw[x] || !newRaw[x][y]) {
|
||||
const subSection = this.getSlide(x, y)
|
||||
if (subSection) {
|
||||
subSection.remove()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if (!newRaw[x]) {
|
||||
const section = this.getSlide(x)
|
||||
if (section) {
|
||||
section.remove()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
this.raw = newRaw
|
||||
}
|
||||
|
||||
get theme () {
|
||||
const el = document.getElementById('reveal-theme') as HTMLLinkElement
|
||||
const m = /\/(\S+)\.css$/.exec(el.href)
|
||||
if (m) {
|
||||
return m[1]
|
||||
}
|
||||
|
||||
return ''
|
||||
}
|
||||
|
||||
set theme (t) {
|
||||
const el = document.getElementById('reveal-theme') as HTMLLinkElement
|
||||
el.href = `${revealCdn}css/theme/${t}.css`
|
||||
}
|
||||
|
||||
update (raw: string) {
|
||||
const { data, content } = matter(raw)
|
||||
this.markdown = content
|
||||
this.header = data
|
||||
}
|
||||
|
||||
onReady (fn?: () => void) {
|
||||
if (this.isReady) {
|
||||
if (this.queue.length > 0) {
|
||||
this.queue.forEach(it => it())
|
||||
window.Reveal.slide(-1, -1, -1)
|
||||
window.Reveal.sync()
|
||||
}
|
||||
|
||||
if (fn) {
|
||||
fn()
|
||||
}
|
||||
} else {
|
||||
if (fn) {
|
||||
this.queue.push(fn)
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
this.onReady()
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
|
||||
parseSlide (text: string): ISlide {
|
||||
const id = shortHash(text)
|
||||
const raw = text
|
||||
let type: 'hidden' | 'global' | 'regular' = 'regular'
|
||||
let html = text
|
||||
const [firstLine, ...lines] = html.split('\n')
|
||||
const newType = firstLine.substr(3)
|
||||
if (newType === 'hidden') {
|
||||
type = 'hidden'
|
||||
return { html: '', raw, id, type }
|
||||
} else if (newType === 'global') {
|
||||
type = 'global'
|
||||
html = lines.join('\n')
|
||||
}
|
||||
|
||||
html = html.replace(/(?:^|\n)\/\/ css=([A-Za-z0-9\-_]+\.css)(?:$|\n)/g, (p0, ref: string) => {
|
||||
const i = raw.indexOf(p0)
|
||||
const globalEl = this.$el.querySelector('#global') as HTMLDivElement
|
||||
const className = `ref${i}`
|
||||
|
||||
let el = globalEl.querySelector(`style.ref.${className}`)
|
||||
if (!el) {
|
||||
el = document.createElement('style')
|
||||
el.classList.add('ref', className)
|
||||
globalEl.appendChild(el)
|
||||
}
|
||||
|
||||
let url = ref
|
||||
if (!ref.includes('://')) {
|
||||
url = `/api/data?${qs.stringify({
|
||||
filename: ref,
|
||||
})}`
|
||||
}
|
||||
|
||||
fetch(url).then((r) => r.text()).then((content) => {
|
||||
if (type !== 'global') {
|
||||
content = scopeCss(content, `#${id}`)
|
||||
}
|
||||
el!.innerHTML = content
|
||||
})
|
||||
|
||||
return ''
|
||||
})
|
||||
|
||||
html = html.replace(/(?:^|\n)(\/\/ slide\n)?```(\S+)\n([^]+?)\n```(?:$|\n)/g, (p0, subtype, lang, content) => {
|
||||
if (type !== 'global' && !subtype) {
|
||||
return p0
|
||||
}
|
||||
|
||||
if (lang === 'css') {
|
||||
const globalEl = this.$el.querySelector('#global') as HTMLDivElement
|
||||
if (type !== 'global') {
|
||||
content = scopeCss(content, `#${id}`)
|
||||
}
|
||||
let el = globalEl.querySelector('style.main')
|
||||
if (!el) {
|
||||
el = document.createElement('style')
|
||||
el.className = 'main'
|
||||
globalEl.appendChild(el)
|
||||
}
|
||||
el.innerHTML = content
|
||||
return ''
|
||||
} else if (lang === 'pre') {
|
||||
return h('pre', content).outerHTML
|
||||
// } else if (lang === 'pug') {
|
||||
// return makeHtml.pugConvert(content)
|
||||
} else if (lang === 'html') {
|
||||
return content
|
||||
}
|
||||
|
||||
return p0
|
||||
})
|
||||
|
||||
return {
|
||||
html: h(`#${id}`, {
|
||||
innerHTML: makeHtml.mdConvert(html),
|
||||
}).outerHTML,
|
||||
raw,
|
||||
id,
|
||||
type,
|
||||
}
|
||||
}
|
||||
|
||||
getSlide (x: number, y?: number) {
|
||||
const s = this.$el.querySelectorAll('.slides > section')
|
||||
const hSlide = s[x]
|
||||
|
||||
if (typeof y === 'number') {
|
||||
if (hSlide) {
|
||||
return Array.from(hSlide.children).filter((el) => el.tagName.toLocaleUpperCase() === 'SECTION')[y]
|
||||
}
|
||||
|
||||
return undefined
|
||||
}
|
||||
|
||||
return hSlide
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,43 @@
|
||||
<template lang="pug">
|
||||
post-query(:tag="$route.params.tagName" :defaults="defaults")
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Vue, Component } from 'nuxt-property-decorator'
|
||||
import PostQuery from '@/components/PostQuery.vue'
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
PostQuery,
|
||||
},
|
||||
})
|
||||
export default class PageIndex extends Vue {
|
||||
defaults = {
|
||||
posts: [],
|
||||
count: 0,
|
||||
}
|
||||
|
||||
async asyncData ({ $axios, $payloadURL, route, params }: any) {
|
||||
if (process.static && process.client && $payloadURL) {
|
||||
return $axios.$get($payloadURL(route))
|
||||
}
|
||||
|
||||
const now = new Date().toISOString()
|
||||
let ps: any[] = require('@/static/build/header/posts.json')
|
||||
ps = ps.filter((p) => p.date && p.date < now && p.path.startsWith('blog/'))
|
||||
ps = ps.filter((p) => p.tag && p.tag.includes(params.tagName))
|
||||
|
||||
const posts = ps.slice(0, 5).map((h) => {
|
||||
h.teaser = require(`@/static/build/teaser/${h.path}`).default
|
||||
return h
|
||||
})
|
||||
|
||||
return {
|
||||
defaults: {
|
||||
posts,
|
||||
count: ps.length,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,4 @@
|
||||
import Vue from 'vue'
|
||||
import VueDisqus from 'vue-disqus'
|
||||
|
||||
Vue.use(VueDisqus)
|
||||
@@ -0,0 +1,10 @@
|
||||
import Vue from 'vue'
|
||||
import { library, config } from '@fortawesome/fontawesome-svg-core'
|
||||
import { faSearch, faCaretRight, faCaretLeft } from '@fortawesome/free-solid-svg-icons'
|
||||
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
|
||||
|
||||
config.autoAddCss = false
|
||||
|
||||
library.add(faSearch, faCaretRight, faCaretLeft)
|
||||
|
||||
Vue.component('fa', FontAwesomeIcon)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Whitespace-only changes.
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2018",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "node",
|
||||
"lib": [
|
||||
"esnext",
|
||||
"esnext.asynciterable",
|
||||
"dom"
|
||||
],
|
||||
"esModuleInterop": true,
|
||||
"allowJs": true,
|
||||
"sourceMap": true,
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"experimentalDecorators": true,
|
||||
"skipLibCheck": true,
|
||||
"resolveJsonModule": true,
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"~/*": [
|
||||
"./*"
|
||||
],
|
||||
"@/*": [
|
||||
"./*"
|
||||
]
|
||||
},
|
||||
"types": [
|
||||
"@types/node",
|
||||
"@nuxt/types",
|
||||
"webpack-env",
|
||||
"reveal"
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
import path from 'path'
|
||||
import matter from 'gray-matter'
|
||||
import moment from 'moment'
|
||||
import fs from 'fs-extra'
|
||||
// @ts-ignore
|
||||
import shortHash from 'short-hash'
|
||||
import stringify from 'fast-json-stable-stringify'
|
||||
import glob from 'fast-glob'
|
||||
|
||||
export type DataType = 'posts' | 'slides'
|
||||
|
||||
export interface IData {
|
||||
teaser?: string
|
||||
full: string
|
||||
}
|
||||
|
||||
export default class ApiBuilder {
|
||||
_hash: Record<DataType, Record<string, string>> = {
|
||||
posts: {},
|
||||
slides: {},
|
||||
}
|
||||
|
||||
_tag: Record<DataType, Record<string, number>> = {
|
||||
posts: {},
|
||||
slides: {},
|
||||
}
|
||||
|
||||
_header: Record<DataType, any[]> = {
|
||||
posts: [],
|
||||
slides: [],
|
||||
}
|
||||
|
||||
_data: Record<DataType, Record<string, IData>> = {
|
||||
posts: {},
|
||||
slides: {},
|
||||
}
|
||||
|
||||
loadFile (dirName: DataType, fileName: string) {
|
||||
const ROOT = path.join('data', dirName)
|
||||
|
||||
const raw = fs.readFileSync(path.join(ROOT, fileName), 'utf8')
|
||||
|
||||
const m = matter(raw)
|
||||
const p = path.parse(fileName)
|
||||
m.data = {
|
||||
...m.data,
|
||||
name: p.name,
|
||||
path: fileName,
|
||||
}
|
||||
|
||||
if (m.data.date) {
|
||||
let mm = moment(m.data.date)
|
||||
mm = mm.add(-mm.utcOffset(), 'minute')
|
||||
|
||||
Object.assign(m.data, {
|
||||
date: mm.toISOString(),
|
||||
y: mm.format('YYYY'),
|
||||
mo: mm.format('MM'),
|
||||
})
|
||||
}
|
||||
|
||||
let data: IData = {
|
||||
full: m.content,
|
||||
}
|
||||
|
||||
if (dirName === 'posts') {
|
||||
const [teaser, remaining] = m.content.split(/\n===\n(.+)/s)
|
||||
data = {
|
||||
teaser,
|
||||
full: `${teaser}\n${remaining || ''}`,
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
header: m.data,
|
||||
data,
|
||||
}
|
||||
}
|
||||
|
||||
loadDir (dirName: DataType) {
|
||||
const ROOT = path.join('data', dirName)
|
||||
const now = new Date().toISOString()
|
||||
|
||||
glob.sync('**/*.md', {
|
||||
cwd: ROOT,
|
||||
}).map((f) => {
|
||||
const { header, data } = this.loadFile(dirName, f)
|
||||
this._hash[dirName][f] = shortHash(data.full)
|
||||
|
||||
if (dirName === 'posts' && header.date && header.date < now && header.path.startsWith('blog/')) {
|
||||
if (Array.isArray(header.tag)) {
|
||||
for (const t of header.tag) {
|
||||
this._tag[dirName][t] = (this._tag[dirName][t] || 0) + 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this._header[dirName].push(header)
|
||||
this._data[dirName][f] = data
|
||||
})
|
||||
|
||||
this._header[dirName] = this._header[dirName].sort((h1, h2) => {
|
||||
if (typeof h1.date === 'string' && typeof h2.date === 'string') {
|
||||
return -h1.date.localeCompare(h2.date)
|
||||
}
|
||||
return 0
|
||||
})
|
||||
|
||||
this._hash[dirName]._header = shortHash(stringify(this._header[dirName]))
|
||||
|
||||
return {
|
||||
header: this._header[dirName],
|
||||
hash: this._hash[dirName]._header,
|
||||
tag: this._tag[dirName],
|
||||
}
|
||||
}
|
||||
|
||||
emit () {
|
||||
const dst = 'static/build'
|
||||
|
||||
this.loadDir('posts')
|
||||
this.loadDir('slides')
|
||||
|
||||
/**
|
||||
* Emit hash
|
||||
*/
|
||||
console.log('Emitting hash')
|
||||
fs.ensureDirSync(`${dst}/hash`)
|
||||
fs.writeFileSync(`${dst}/hash/posts.json`, JSON.stringify(this._hash.posts))
|
||||
fs.writeFileSync(`${dst}/hash/slides.json`, JSON.stringify(this._hash.slides))
|
||||
|
||||
/**
|
||||
* Emit header
|
||||
*/
|
||||
console.log('Emitting header')
|
||||
fs.ensureDirSync(`${dst}/header`)
|
||||
fs.writeFileSync(`${dst}/header/posts.json`, JSON.stringify(this._header.posts))
|
||||
fs.writeFileSync(`${dst}/header/slides.json`, JSON.stringify(this._header.slides))
|
||||
|
||||
/**
|
||||
* Emit tag
|
||||
*/
|
||||
console.log('Emitting tag')
|
||||
fs.ensureDirSync(`${dst}/tag`)
|
||||
fs.writeFileSync(`${dst}/tag/posts.json`, JSON.stringify(this._tag.posts))
|
||||
|
||||
/**
|
||||
* Emit posts
|
||||
*/
|
||||
console.log('Emitting blog entries')
|
||||
for (const [p, data] of Object.entries(this._data.posts)) {
|
||||
fs.ensureFileSync(`${dst}/teaser/${p}`)
|
||||
fs.ensureFileSync(`${dst}/full/${p}`)
|
||||
|
||||
fs.writeFileSync(`${dst}/teaser/${p}`, data.teaser)
|
||||
fs.writeFileSync(`${dst}/full/${p}`, data.full)
|
||||
}
|
||||
|
||||
/**
|
||||
* Emit slides
|
||||
*/
|
||||
console.log('Emitting slides')
|
||||
for (const [p, data] of Object.entries(this._data.slides)) {
|
||||
fs.ensureFileSync(`${dst}/slides/${p}`)
|
||||
|
||||
fs.writeFileSync(`${dst}/slides/${p}`, data.full)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof require !== 'undefined' && require.main === module) {
|
||||
new ApiBuilder().emit()
|
||||
}
|
||||
File renamed without changes.
@@ -1,5 +0,0 @@
|
||||
module.exports = {
|
||||
plugins: {
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
Loaded 100 of 154 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user