検索
ホームページウェブフロントエンドVue.jsVuePress + Github Pages を使用してブログを構築する方法を簡単に説明する 1 つの記事 (実践)

この記事では、VuePress の実践的な経験を共有します。この記事を通じて、VuePress Github Pages を使用してブログをすばやく構築する方法を説明します。皆様のお役に立てれば幸いです。

VuePress + Github Pages を使用してブログを構築する方法を簡単に説明する 1 つの記事 (実践)

最新の TypeScript 公式ドキュメントである Hanbook の翻訳が最近完了しました。合計 14 の記事があります。これは中国で最高の TypeScript4 入門チュートリアルの 1 つと言えます。誰でも読みやすくするために、VuePress Github Pages を使用してブログを構築しました。ブログの効果は次のとおりです。

0. VuePress

VuePress 言うまでもなく、Vue ベースの静的 Web サイト ジェネレーターは、シンプルなスタイルと比較的単純な構成を持っています。 VitePress を使用しない理由は、既存のテーマを使用したいためであり、VitePress は現在の VuePress エコシステムと互換性がないためです。 、まだベータ段階であることを考慮して、安定するまで移行を開始するのを待ってください。 [関連する推奨事項: "vue.js チュートリアル "]

1. ローカル ビルド

クイック スタート

VuePress 公式 Web サイトと同じ :

1. 新しいディレクトリを作成して入力します

// 文件名自定义
mkdir vuepress-starter && cd vuepress-starter

2. お気に入りのパッケージ マネージャーを使用して初期化します

yarn init # npm init

3. VuePress をローカルの依存関係としてインストールします

yarn add -D vuepress # npm install -D vuepress

4 、最初のドキュメントを作成します。VuePress は docs をドキュメントのルート ディレクトリとして使用するため、この README.md はホームページと同等です:

mkdir docs && echo '# Hello VuePress' > docs/README.md

5. package.json にいくつかのスクリプト

{
  "scripts": {
    "docs:dev": "vuepress dev docs",
    "docs:build": "vuepress build docs"
  }
}
## を追加します # 6. サーバーをローカルで起動します。

yarn docs:dev # npm run docs:dev

VuePress は、ホットリロードされた開発サーバーを

http://localhost:8080

(新しいウィンドウが開きます) で起動します。 2. 基本構成

ドキュメント ディレクトリに

.vuepress

ディレクトリを作成し、そこにすべての VuePress 関連ファイルを配置します。現時点でのプロジェクト構造は次のようになります。 <pre class='brush:php;toolbar:false;'>. ├─ docs │ ├─ README.md │ └─ .vuepress │ └─ config.js └─ package.json</pre>

config.js

.vuepress フォルダーに追加して、Web サイトのタイトルと説明を構成します。 SEO の促進: <pre class='brush:php;toolbar:false;'>module.exports = { title: &amp;#39;TypeScript4 文档&amp;#39;, description: &amp;#39;TypeScript4 最新官方文档翻译&amp;#39; }</pre>この時点のインターフェースは次のようになります:

3. ナビゲーション バーの追加

ここでナビゲーションを追加します。ページ上部の右上隅にあるバーを変更して、

config.js

:<pre class='brush:php;toolbar:false;'>module.exports = { title: &amp;#39;...&amp;#39;, description: &amp;#39;...&amp;#39;, themeConfig: { nav: [ { text: &amp;#39;首页&amp;#39;, link: &amp;#39;/&amp;#39; }, { text: &amp;#39;冴羽的 JavaScript 博客&amp;#39;, items: [ { text: &amp;#39;Github&amp;#39;, link: &amp;#39;https://github.com/mqyqingfeng&amp;#39; }, { text: &amp;#39;掘金&amp;#39;, link: &amp;#39;https://juejin.cn/user/712139234359182/posts&amp;#39; } ] } ] } }</pre>結果は次のようになります:

詳細な設定については、VuePress ナビゲーション バーを参照してください。

https://vuepress.vuejs.org/zh/theme/default-theme-config.html#Navigation bar

4. サイドバーを追加します

次に、いくつかの md ドキュメントを追加します。現在のドキュメント ディレクトリは次のとおりです:

.
├─ docs
│  ├─ README.md
│  └─ .vuepress
│     └─ config.js
|  └─ handbook
|  	  └─ ConditionalTypes.md
|	    └─ Generics.md
└─ package.json

config.js## で構成します。 # 次のように:

module.exports = {
    themeConfig: {
        nav: [...],
        sidebar: [
            {
                title: &#39;欢迎学习&#39;,
                path: &#39;/&#39;,
                collapsable: false, // 不折叠
                children: [
                    { title: "学前必读", path: "/" }
                ]
            },
            {
              title: "基础学习",
              path: &#39;/handbook/ConditionalTypes&#39;,
              collapsable: false, // 不折叠
              children: [
                { title: "条件类型", path: "/handbook/ConditionalTypes" },
                { title: "泛型", path: "/handbook/Generics" }
              ],
            }
          ]
    }
}
対応する効果は次のとおりです:

5. テーマを変更します

これで、基本的なディレクトリとナビゲーションが作成されました。機能は実装されていますが、ロードやアニメーションの切り替え、モード切り替え(ダークモード)なども行いたい場合は、トップに戻る機能やコメントなどについては、開発コストを簡略化するためにテーマを直接利用することも可能です。ここで使用されるテーマは vuepress-theme-rec (https://vuepress-theme-reco.recoluan.com/) です:

ここで vuepress-theme-reco をインストールします:

npm install vuepress-theme-reco --save-dev
# or
yarn add vuepress-theme-reco

次に

config.js

のテーマを参照してください:

module.exports = {
  // ...
  theme: &#39;reco&#39;
  // ...
}
ページを更新すると、読み込み中のアニメーションの読み込みやダーク モードへの切り替えのサポートなどの詳細な変更が表示されます:

6. 記事情報を追加します

ただし、条件のようなものも見つかりますこの記事では、

条件型

が実際に 2 回登場します。このトピックでは、最初の見出しがこの記事のタイトルとして自動的に抽出されます。各記事の md に追加できます。ファイルにいくつかの情報変更を追加します:

---
title: 条件类型
author: 冴羽
date: &#39;2021-12-12&#39;
---
現時点での記事の効果は次のとおりです以下に続きます:

但如果你不想要标题、作者、时间这些信息呢,我们可以在样式里隐藏,这个稍后会讲到。

7. 设置语言

注意,上图的文章时间,我们写入的格式为 2021-12-12 ,但是显示的是 12/12/2021,这是因为  VuePress 默认的 lang 为 en-US,我们修改一下 config.js:

module.exports = {
  // ...
  locales: {
    &#39;/&#39;: {
      lang: &#39;zh-CN&#39;
    }
  },
  // ...
}

可以发现时间换了一种展示方式:

8. 开启目录结构

在原本的主题里,我们发现每篇文章的目录结构出现在左侧:

而 vuepress-theme-reco 将原有的侧边栏的中的多级标题移出,生成子侧边栏,放在了页面的右侧,如果你要全局开启,可在页面 config.js 里设置开启:

module.exports = {
  //...
  themeConfig: {
    subSidebar: &#39;auto&#39;
  }
  //...
}

此时效果如下:

9. 修改主题颜色

VuePress 基于 Vue,所以主题色用的是 Vue 的绿色,然而 TypeScript 的官方色则是蓝色,那如何修改 VuePress 的主题色呢?

你可以创建一个 .vuepress/styles/palette.styl 文件,文件代码如下:

$accentColor = #3178c6

此时可以发现主题颜色变了:

更多的颜色修改参考 VuePress 的 palette.styl

10. 自定义修改样式

如果你想自定义修改一些 DOM 元素的样式呢?就比如在暗黑模式下:

我们发现用作强调的文字颜色比较暗淡,在暗黑模式下看不清楚,我想改下这个文字的颜色和背景色呢?

而 VuePress 提供了一种添加额外样式的简便方法。你可以创建一个 .vuepress/styles/index.styl 文件。这是一个 Stylus 文件,但你也可以使用正常的 CSS 语法。

我们在 .vupress 文件夹下创建这个目录,然后创建 index.styl 文件,代码如下:

// 通过检查,查看元素样式声明
.dark .content__default code {
    background-color: rgba(58,58,92,0.7);
    color: #fff;
}

此时文字就清晰了很多:

那之前我们提到的隐藏每篇文章的标题、作者、时间呢,其实也是类似的方式:

.page .page-title {
   display: none;
}

最后的效果如下:

11. 部署

我们的博客就算是正式的做好了,接下来我们部署到免费的 Github Pages 上。我们在 Github 上新建一个仓库,这里我取得仓库名为:learn-typescript

对应,我们需要在 config.js 添加一个 base 路径配置:

module.exports = {
  	// 路径名为 "/<REPO>/"
    base: &#39;/learn-typescript/&#39;,
  	//...
}

最终的 config.js 文件内容为:

module.exports = {
    title: &#39;TypeScript4 文档&#39;,
    description: &#39;TypeScript4 最新官方文档翻译&#39;,
    base: &#39;/learn-typescript/&#39;,
    theme: &#39;reco&#39;,
    locales: {
        &#39;/&#39;: {
          lang: &#39;zh-CN&#39;
        }
    },
    themeConfig: {
        // lastUpdated: &#39;上次更新&#39;,
        subSidebar: &#39;auto&#39;,
        nav: [
            { text: &#39;首页&#39;, link: &#39;/&#39; },
            { 
                text: &#39;冴羽的 JavaScript 博客&#39;, 
                items: [
                    { text: &#39;Github&#39;, link: &#39;https://github.com/mqyqingfeng&#39; },
                    { text: &#39;掘金&#39;, link: &#39;https://juejin.cn/user/712139234359182/posts&#39; }
                ]
            }
        ],
        sidebar: [
            {
                title: &#39;欢迎学习&#39;,
                path: &#39;/&#39;,
                collapsable: false,
                children: [
                    { title: "学前必读", path: "/" }
                ]
            },
            {
              title: "基础学习",
              path: &#39;/handbook/ConditionalTypes&#39;,
              collapsable: false,
              children: [
                { title: "条件类型", path: "/handbook/ConditionalTypes" },
                { title: "泛型", path: "/handbook/Generics" }
              ],
            }
          ]
    }
}

然后我们在项目 vuepress-starter 目录下建立一个脚本文件:deploy.sh,注意修改一下对应的用户名和仓库名:

#!/usr/bin/env sh

# 确保脚本抛出遇到的错误
set -e

# 生成静态文件
npm run docs:build

# 进入生成的文件夹
cd docs/.vuepress/dist

git init
git add -A
git commit -m &#39;deploy&#39;

# 如果发布到 https://<USERNAME>.github.io/<REPO>
git push -f git@github.com:mqyqingfeng/learn-typescript.git master:gh-pages

cd -

然后命令行切换到 vuepress-starter 目录下,执行  sh deploy.sh,就会开始构建,然后提交到远程仓库,注意这里提交到了 gh-pages 分支,我们查看下对应仓库分支的代码:

我们可以在仓库的 Settings -> Pages 中看到最后的地址:

私が生成した最後のアドレスと同様に、https://mqyqingfeng.github.io/learn-typescript/

この時点では、 VuePress と Github Pages のデプロイが完了しました。

プログラミング関連の知識について詳しくは、プログラミング入門をご覧ください。 !

以上がVuePress + Github Pages を使用してブログを構築する方法を簡単に説明する 1 つの記事 (実践)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は掘金社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Vue.jsの理解:主にフロントエンドフレームワークVue.jsの理解:主にフロントエンドフレームワークApr 17, 2025 am 12:20 AM

Vue.jsは、2014年にYou YuxiがリリースしたプログレッシブJavaScriptフレームワークで、ユーザーインターフェイスを構築します。その中心的な利点には、次のものが含まれます。1。レスポンシブデータバインディング、データ変更の自動更新ビュー。 2。コンポーネントの開発では、UIは独立した再利用可能なコンポーネントに分割できます。

Netflixのフロントエンド:React(またはVue)の例とアプリケーションNetflixのフロントエンド:React(またはVue)の例とアプリケーションApr 16, 2025 am 12:08 AM

Netflixは、Reactをフロントエンドフレームワークとして使用します。 1)Reactのコンポーネント開発モデルと強力なエコシステムが、Netflixがそれを選択した主な理由です。 2)コンポーネント化により、Netflixは複雑なインターフェイスをビデオプレーヤー、推奨リスト、ユーザーコメントなどの管理可能なチャンクに分割します。 3)Reactの仮想DOMおよびコンポーネントライフサイクルは、レンダリング効率とユーザーインタラクション管理を最適化します。

フロントエンドの風景:Netflixが選択にアプローチした方法フロントエンドの風景:Netflixが選択にアプローチした方法Apr 15, 2025 am 12:13 AM

Netflixのフロントエンドテクノロジーでの選択は、主にパフォーマンスの最適化、スケーラビリティ、ユーザーエクスペリエンスの3つの側面に焦点を当てています。 1。パフォーマンスの最適化:Netflixは、Reactをメインフレームワークとして選択し、SpeedCurveやBoomerangなどのツールを開発して、ユーザーエクスペリエンスを監視および最適化しました。 2。スケーラビリティ:マイクロフロントエンドアーキテクチャを採用し、アプリケーションを独立したモジュールに分割し、開発効率とシステムのスケーラビリティを改善します。 3.ユーザーエクスペリエンス:Netflixは、Material-UIコンポーネントライブラリを使用して、A/Bテストとユーザーフィードバックを介してインターフェイスを継続的に最適化して、一貫性と美学を確保します。

React vs. Vue:Netflixはどのフレームワークを使用していますか?React vs. Vue:Netflixはどのフレームワークを使用していますか?Apr 14, 2025 am 12:19 AM

netflixusesaCustomframeworkは、「ギボン」ビルトンリアクト、notreactorvuedirectly.1)チームエクスペリエンス:seice basedonfamperivity.2)projectomplerprojects:vueforsplerprojects、racefforcomplexones.3)customeforsneeds:reactofforsmorefloficailie.

フレームワークの選択:Netflixの決定を推進するものは何ですか?フレームワークの選択:Netflixの決定を推進するものは何ですか?Apr 13, 2025 am 12:05 AM

Netflixは、主に、パフォーマンス、スケーラビリティ、開発効率、エコシステム、技術的な負債、およびフレームワーク選択におけるメンテナンスコストを考慮しています。 1。パフォーマンスとスケーラビリティ:JavaとSpringbootが選択され、大規模なデータと高い同時リクエストを効率的に処理します。 2。開発効率とエコシステム:Reactを使用して、フロントエンド開発効率を向上させ、その豊富なエコシステムを利用します。 3.技術的な負債とメンテナンスコスト:node.jsを選択してマイクロサービスを構築して、メンテナンスコストと技術的債務を削減します。

Netflixのフロントエンドの反応、Vue、および未来Netflixのフロントエンドの反応、Vue、および未来Apr 12, 2025 am 12:12 AM

Netflixは、主にReactをフロントエンドフレームワークとして使用し、特定の機能のためにVUEによって補足されます。 1)Reactのコンポーネント化と仮想DOMは、Netflixアプリケーションのパフォーマンスと開発効率を向上させます。 2)VueはNetflixの内部ツールと小規模プロジェクトで使用されており、その柔軟性と使いやすさが重要です。

フロントエンドのvue.js:実際のアプリケーションと例フロントエンドのvue.js:実際のアプリケーションと例Apr 11, 2025 am 12:12 AM

Vue.jsは、複雑なユーザーインターフェイスを構築するのに適した進歩的なJavaScriptフレームワークです。 1)そのコア概念には、レスポンシブデータ、コンポーネント、仮想DOMが含まれます。 2)実際のアプリケーションでは、TODOアプリケーションを構築し、Vuerouterを統合することで実証できます。 3)デバッグするときは、vuedevtools and Console.logを使用することをお勧めします。 4)パフォーマンスの最適化は、V-IF/V-Show、リストレンダリング最適化、コンポーネントの非同期負荷などを通じて達成できます。

Vue.jsとReact:重要な違​​いを理解するVue.jsとReact:重要な違​​いを理解するApr 10, 2025 am 09:26 AM

Vue.JSは中小企業から中規模のプロジェクトに適していますが、Reactは大規模で複雑なアプリケーションにより適しています。 1。VUE.JSのレスポンシブシステムは、依存関係追跡を介してDOMを自動的に更新し、データの変更を簡単に管理できるようにします。 2.反応は一方向のデータフローを採​​用し、データは親コンポーネントから子コンポーネントに流れ、明確なデータフローと簡単な抽出構造を提供します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール