Quick "rewrite" (#332)

* Clean foundation

* Carry over stuff

* Amend some things

* Delete mdi-iconfont.scss

* Remove forgotten code
This commit is contained in:
Soitora 2020-08-31 20:36:42 +02:00 committed by GitHub
parent 6465c0bfb8
commit 8cdebba09d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 31632 additions and 15261 deletions

44
.eslintrc.js Normal file
View File

@ -0,0 +1,44 @@
module.exports = {
env: {
browser: true,
es6: true,
},
extends: [
"vuepress",
"prettier"
],
globals: {
Atomics: "readonly",
SharedArrayBuffer: "readonly",
},
parserOptions: {
ecmaVersion: 2018,
sourceType: "module",
},
rules: {
"prettier/prettier": [
"error",
{
endOfLine: "auto",
},
],
"import/no-unresolved": [
2,
{
ignore: [
"^@",
],
},
],
},
plugins: [
"vue",
"prettier",
"markdown",
],
}

View File

@ -1,34 +0,0 @@
{
"env": {
"browser": true,
"es6": true
},
"extends": [
"plugin:vue/essential",
"airbnb-base",
"prettier",
"vuepress"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
"plugins": [
"vue",
"prettier",
"markdown"
],
"rules": {
"prettier/prettier": ["error", {
"endOfLine":"auto"
}],
"import/no-unresolved": [
2,
{ "ignore": ["^@"] }
]
}
}

21816
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
{
"name": "tachiyomi-website",
"version": "0.0.0",
"version": "1.0.0",
"description": "Official website for the Tachiyomi app.",
"scripts": {
"build": "npm run lint && vuepress build src",
"lint": "eslint --fix src/.vuepress/**/*.{js,vue} --no-ignore",
@ -10,45 +11,49 @@
"type": "git",
"url": "git+https://github.com/tachiyomiorg/website.git"
},
"keywords": [
"vuepress"
],
"license": "MPL-2.0",
"private": true,
"bugs": {
"url": "https://github.com/tachiyomiorg/website/issues"
},
"homepage": "https://github.com/tachiyomiorg/website#readme",
"devDependencies": {
"vuepress": "^1.5.4",
"@vuepress/plugin-back-to-top": "^1.5.4",
"@vuepress/plugin-google-analytics": "^1.5.4",
"@vuepress/plugin-active-header-links": "^1.5.4",
"@vuepress/plugin-pwa": "^1.5.4",
"eslint": "^7.7.0",
"eslint-config-airbnb": "^18.2.0",
"eslint-config-airbnb-base": "^14.2.0",
"eslint-config-prettier": "^6.11.0",
"eslint-config-vuepress": "^2.2.0",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-markdown": "^1.0.2",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-vue": "^6.2.2",
"node-sass": "^4.14.1",
"prettier": "^2.1.1",
"sass-loader": "^9.0.3",
"vuepress": "^1.5.4",
"vuepress-plugin-clean-urls": "^1.1.1",
"vuepress-plugin-container": "^2.1.4",
"vuepress-plugin-zooming": "^1.1.7",
"vuepress-plugin-element-ui": "^1.1.0",
"vuepress-plugin-zooming": "^1.1.7"
"eslint-config-vuepress": "^2.2.0",
"eslint-plugin-markdown": "^1.0.2",
"eslint-plugin-vue": "^7.0.0-beta.3",
"eslint": "^7.7.0",
"prettier": "^2.0.5",
"sass-loader": "^10.0.1",
"node-sass": "^4.14.1"
},
"dependencies": {
"axios": "^0.19.2",
"element-ui": "^2.13.2",
"vuepress-plugin-sitemap": "^2.3.1",
"vuepress-plugin-robots": "^1.0.1",
"vue": "^2.6.12",
"vuex": "^3.5.1",
"vue-agile": "^1.1.3",
"vue-moment": "^4.1.0",
"vue-sweetalert2": "^3.0.8",
"core-js": "^2.6.4",
"axios": "^0.20.0",
"marked": "^1.1.1",
"iso-639-1": "^2.1.4",
"lodash.groupby": "^4.6.0",
"lodash.sortby": "^4.7.0",
"marked": "^1.1.1",
"material-design-icons": "^3.0.1",
"sweetalert2": "^9.17.1",
"vue": "^2.6.12",
"vue-agile": "^1.1.3",
"vue-material-design-icons": "^4.9.0",
"vue-moment": "^4.1.0",
"vue-sweetalert2": "^3.0.8",
"vuepress-plugin-robots": "^1.0.1",
"vuepress-plugin-sitemap": "^2.3.1",
"vuex": "^3.5.1"
"element-ui": "^2.13.2",
"material-design-icons-iconfont": "^6.0.1",
"vue-material-design-icons": "^4.9.0"
}
}

View File

@ -2,10 +2,10 @@
<Agile :id="name" :options="config">
<slot />
<template slot="prevButton">
<MaterialIcon icon-name="navigate_next" />
<MaterialIcon icon="navigate_next" />
</template>
<template slot="nextButton">
<MaterialIcon icon-name="navigate_next" />
<MaterialIcon icon="navigate_next" />
</template>
</Agile>
</template>

View File

@ -21,7 +21,7 @@
</div>
</div>
<a :href="apkUrl(extension.apk)" class="button" title="Download APK" download>
<MaterialIcon icon-name="cloud_download" />
<MaterialIcon icon="cloud_download" />
<span>Download</span>
</a>
</div>

View File

@ -36,7 +36,7 @@
<h3>{{ helpItem.title }}</h3>
</header>
<header v-else-if="helpItem.icon">
<MaterialIcon :icon-name="helpItem.icon" icon-only />
<MaterialIcon :icon="helpItem.icon" icon-only />
<h3>{{ helpItem.title }}</h3>
</header>
<p>{{ helpItem.description }}</p>
@ -72,7 +72,7 @@
</span>
</header>
<header v-else-if="helpItem.icon">
<MaterialIcon :icon-name="helpItem.icon" icon-only />
<MaterialIcon :icon="helpItem.icon" icon-only />
<h3>{{ helpItem.title }}</h3>
</header>
<p>{{ helpItem.description }}</p>

View File

@ -1,14 +1,14 @@
<template>
<i v-if="iconOnly" :class="name" class="material-icons">{{ iconName }}</i>
<i v-if="iconOnly" :class="name" class="material-icons">{{ icon }}</i>
<div v-else :class="name" class="material-holder">
<i class="material-icons">{{ iconName }}</i>
<i class="material-icons">{{ icon }}</i>
</div>
</template>
<script>
/**
* For material icon references use https://material.io/resources/icons/
* Code example: <MaterialIcon iconName="android" />
* Code example: <MaterialIcon icon="android" />
*/
export default {
props: {
@ -20,7 +20,7 @@ export default {
type: String,
default: "",
},
iconName: {
icon: {
type: String,
required: true,
},
@ -28,6 +28,11 @@ export default {
};
</script>
<style lang="scss">
$material-design-icons-font-directory-path: "~material-design-icons-iconfont/dist/fonts/";
@import "~material-design-icons-iconfont/src/material-design-icons";
</style>
<style lang="stylus">
.material-holder
color #476582
@ -37,19 +42,7 @@ export default {
display inline
.material-icons
font-family "Material Icons"
font-size 1.35em
font-style normal
position relative
top 0.2rem
font-weight normal
line-height 1
letter-spacing normal
text-transform none
display inline-block
white-space nowrap
word-wrap normal
direction ltr
font-feature-settings "liga"
-webkit-font-smoothing antialiased
</style>

View File

@ -1,13 +1,13 @@
<template>
<span v-if="nav.link" class="app-navigation" :class="nav.class" title="App navigation">
<a class="app-link" :href="nav.link + entry">
<MaterialIcon v-if="nav.icon" class="app-icon" :icon-name="nav.icon" />
<MaterialIcon v-if="nav.icon" class="app-icon" :icon="nav.icon" />
<span class="app-label">{{ nav.text }}</span>
<slot />
</a>
</span>
<span v-else class="app-navigation" :class="nav.class" title="App navigation">
<MaterialIcon v-if="nav.icon" class="app-icon" :icon-name="nav.icon" />
<MaterialIcon v-if="nav.icon" class="app-icon" :icon="nav.icon" />
<span class="app-label">{{ nav.text }}</span>
<slot />
</span>

View File

@ -1,6 +1,6 @@
<template>
<span v-if="fileName" class="fileNameContainer" title="File name">
<MaterialIcon class="fileNameIcon" icon-name="get_app" />
<MaterialIcon class="fileNameIcon" icon="get_app" />
<span class="fileName">tachiyomi-v{{ this.$data.tagName }}.apk</span>
<slot />
</span>

View File

@ -1,6 +1,6 @@
<template>
<div class="guide whatsNew">
<p class="title">What's new</p>
<p class="title"><MaterialIcon icon="new_releases" /> What's new</p>
<div v-html="whatsNew"></div>
<div class="custom-block aside">
<p>

View File

@ -1,6 +1,44 @@
module.exports = [
[
"vuepress-plugin-sitemap",
{
hostname: "https://tachiyomi.org",
},
],
[
"vuepress-plugin-robots",
{
host: "https://tachiyomi.org",
allowAll: true,
sitemap: "/sitemap.xml",
},
],
["@vuepress/back-to-top"],
["element-ui"],
[
"@vuepress/google-analytics",
{
ga: "UA-148212082-1",
},
],
[
"@vuepress/active-header-links",
{
sidebarLinkSelector: ".sidebar-link",
headerAnchorSelector: ".header-anchor",
},
],
[
"@vuepress/pwa",
{
serviceWorker: false,
},
],
[
"vuepress-plugin-clean-urls",
{
normalSuffix: "/",
},
],
[
"vuepress-plugin-zooming",
{
@ -11,25 +49,7 @@ module.exports = [
},
},
],
[
"clean-urls",
{
normalSuffix: "/",
},
],
[
"@vuepress/pwa",
{
serviceWorker: true,
updatePopup: true,
},
],
[
"@vuepress/google-analytics",
{
ga: "UA-148212082-1",
},
],
["vuepress-plugin-element-ui"],
[
"vuepress-plugin-container",
{
@ -60,18 +80,4 @@ module.exports = [
defaultTitle: "",
},
],
[
"vuepress-plugin-sitemap",
{
hostname: "https://tachiyomi.org",
},
],
[
"vuepress-plugin-robots",
{
host: "https://tachiyomi.org",
allowAll: true,
sitemap: "/sitemap.xml",
},
]
];

View File

@ -1,4 +1,3 @@
import "./styles/fonts.styl";
import "./styles/animate.css";
import "./styles/sweetalert2.css";
import "vue-material-design-icons/styles.css";

View File

@ -1,6 +0,0 @@
@font-face
font-family "Material Icons"
font-style normal
font-weight 400
src url("~material-design-icons/iconfont/MaterialIcons-Regular.eot")
src local("Material Icons"), local("MaterialIcons-Regular"), url("~material-design-icons/iconfont/MaterialIcons-Regular.woff2") format("woff2"), url("~material-design-icons/iconfont/MaterialIcons-Regular.woff") format("woff"), url("~material-design-icons/iconfont/MaterialIcons-Regular.ttf") format("truetype"), url("~material-design-icons/iconfont/MaterialIcons-Regular.svg#MaterialIcons-Regular") format("svg")

View File

@ -12,6 +12,8 @@ font-feature-settings()
font-feature-settings arguments
// Background color
html,
body,
.theme-container
background-color #fdfdfd

View File

@ -252,7 +252,7 @@ This error can be caused by a variety of reasons, all to do with storage.
#### Why are there no results when searching?
::: aside-guide
[<MaterialIcon icon-name="videocam"/> Click for video guide](/help/faq/assets/MangaDex-NoResults.webm)
[<MaterialIcon icon="videocam"/> Click for video guide](/help/faq/assets/MangaDex-NoResults.webm)
:::
If you're not getting any results when searching **MangaDex** then you need to log in. To do so enter the <Navigation item="webview"/> for **MangaDex** then press the **Manga** drop-down and choose either **Sign up** or **Log in** to proceed with the login.

View File

@ -52,7 +52,7 @@ To delete a category, follow the steps below.
## Add manga to category
::: aside-guide
[<MaterialIcon icon-name="videocam"/> Click for video guide](/help/guides/categories/assets/Category-AddTo.webm)
[<MaterialIcon icon="videocam"/> Click for video guide](/help/guides/categories/assets/Category-AddTo.webm)
:::
To add manga to a category, follow the steps below.
@ -67,7 +67,7 @@ To add manga to a category, follow the steps below.
## Remove manga from category
::: aside-guide
[<MaterialIcon icon-name="videocam"/> Click for video guide](/help/guides/categories/assets/Category-RemoveFrom.webm)
[<MaterialIcon icon="videocam"/> Click for video guide](/help/guides/categories/assets/Category-RemoveFrom.webm)
:::
To remove manga from a category, follow the steps below.

View File

@ -8,15 +8,13 @@ lang: en-US
## Installation
<DownloadButtons downloadStableTag="Tachiyomi" downloadPreviewTag="Tachiyomi Preview"/>
You can download the latest version of **Tachiyomi** by clicking either of the above buttons.
You can download the latest version of **Tachiyomi** by going to our [download](../../download/README.md) page.
When you've completed the download, open the <VersionTag fileName/> file and proceed with installing it.
## Installing an extension
::: aside-guide
[<MaterialIcon icon-name="videocam"/> Click for video guide](/help/guides/getting-started/assets/Extension-Install.webm)
[<MaterialIcon icon="videocam"/> Click for video guide](/help/guides/getting-started/assets/Extension-Install.webm)
:::
Now that **Tachiyomi** is installed, open the app and navigate to <Navigation item="browse"/> and then switch to the **Extensions** tab.
@ -32,7 +30,7 @@ Learn how you can do so [here](/help/faq/#how-do-i-allow-third-party-installatio
## Adding manga to your library
::: aside-guide
[<MaterialIcon icon-name="videocam"/> Click for video guide](/help/guides/getting-started/assets/Library-AddTo.webm)
[<MaterialIcon icon="videocam"/> Click for video guide](/help/guides/getting-started/assets/Library-AddTo.webm)
:::
Now that you've installed the desired extension it will show in the **Sources** tab. This page contains all of your sources, which is obtained through extensions, some extensions contain *multiple* sources.