整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          適合初學者的個人博客網頁設計模板

          、?網站題目

          個人網頁設計、?♂?個人簡歷制作、?簡單靜態HTML個人網頁作品、?個人介紹網站模板 、等網站的設計與制作。

          二、??網站描述

          ?個人網頁設計網站模板采用DIV CSS布局制作,網頁作品有多個頁面,如 :個人介紹(文字頁面)、我的作品(圖片列表)、個人技能(圖文頁面)、在線留言(表單頁面)CSS樣式方面網頁整體采用左右布局結構,制作了網頁背景圖片,導航區域每個導航背景色不同,導航背景色與頁面背景呼應。

          一套A+的網頁應該包含 (具體可根據個人要求而定)

          頁面分為頁頭、菜單導航欄(最好可下拉)、中間內容板塊、頁腳四大部分。

          所有頁面相互超鏈接,可到三級頁面,有5-10個頁面組成。

          頁面樣式風格統一布局顯示正常,不錯亂,使用Div+Css技術。

          菜單美觀、醒目,二級菜單可正常彈出與跳轉。

          要有JS特效,如定時切換和手動切換圖片輪播。

          頁面中有多媒體元素,如gif、視頻、音樂,表單技術的使用。。

          頁面清爽、美觀、大方,不雷同。 。

          不僅要能夠把用戶要求的內容呈現出來,還要滿足布局良好、界面美觀、配色優雅、表現形式多樣等要求。

          三、網站介紹

          網站布局方面:計劃采用目前主流的、能兼容各大主流瀏覽器、顯示效果穩定的浮動網頁布局結構。

          網站程序方面:計劃采用最新的網頁編程語言HTML5+CSS3+JS程序語言完成網站的功能設計。并確保網站代碼兼容目前市面上所有的主流瀏覽器,已達到打開后就能即時看到網站的效果。

          網站素材方面:計劃收集各大平臺好看的圖片素材,并精挑細選適合網頁風格的圖片,然后使用PS做出適合網頁尺寸的圖片。

          網站文件方面:網站系統文件種類包含:html網頁結構文件、css網頁樣式文件、js網頁特效文件、images網頁圖片文件;

          網頁編輯方面:網頁作品代碼簡單,可使用任意HTML編輯軟件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++ 等任意html編輯軟件進行運行及修改編輯等操作)。

          其中:

          (1)html文件包含:其中index.html是首頁、其他html為二級頁面;

          (2) css文件包含:css全部頁面樣式,文字滾動, 圖片放大等;

          (3) js文件包含:js實現動態輪播特效, 表單提交, 點擊事件等等(個別網頁中運用到js代碼)。

          網站頁面展示:

          人博客網站搭建完全教程(看這篇就夠了)

          閱讀須知


          注意,這篇文章篇幅較長,主要針對新手,每一步很詳細,所以可能會顯得比較啰嗦,建議基礎比較好小伙伴根據右側目錄選擇自己感興趣的部分跳著看,不要文章沒看,上來先噴一下!謝謝( ⊙ o ⊙ )。
          教程內容隨意復制使用,引用的話請加一個參考鏈接,謝謝!

          博客開源


          倒騰了一兩周總算把個人博客網站完善了,目前這個版本使用應該是夠了,當然還有一些優化項和功能增加后續在慢慢更新,為了回饋開源,今天準備把我自己修改完善的blog網站源代碼開源。這不是生成后的網頁文件,是您可以直接使用的源碼,您只需要把博客相關信息換成您自己的就可以部署了,對于新手或者不懂編程的小伙伴來說,簡直是福音,極大簡化了您構建博客的工作量和復雜度,每個人都可以下載并修改成自己喜歡樣式!如果你有修改想法,歡迎PR!最后,我們還是給這個開源小項目取個名字吧,就叫hexo-blog-fly吧,怎么樣?<<<<<源代碼下載>>>>>

          本博客基于Hexo框架搭建,用到hexo-theme-matery主題,并在此基礎之上做了很多修改,修復了一些bug,增加了一些新的特性和功能,博客地址:https://shw2018.github.io,博客演示:sunhwee.com。

          簡單使用方法:

          1. star 本項目倉庫o
          2. 安裝Git, 安裝nodeJS
          3. 你可以直接fork一份源碼到你的倉庫,clone到本地
          4. 在本地博客倉庫運行npm i命令安裝依賴包
          5. 修改配置信息,改成自己的信息
          6. 運行命令hexo clean(清除生成文件),hexo g(生成網頁), hexo s(本地預覽),hexo d(部署)

          更多詳情教程,強烈推薦看我寫的:Hexo+Github博客搭建完全教程

          有什么問題可以在文章最后評論區留言和討論,當然,歡迎文章最后打賞投幣,請博主一杯冰闊樂,笑~

          最后,如果項目和教程對你有所幫助或者你看見了還算比較喜歡,歡迎給我github項目倉庫點個star,謝謝您!

          前言


          去年在博客園注冊了自己的第一個博客,當時初衷就是想拿來作為自己的在線筆記本,做做學習記錄,分享一些學到的東西,使用第三方提供的博客服務其實也挺方便,現在市面上提供類似服務的博客網站也很多,如CSDN,博客園,簡書等平臺,可以直接在上面發表,用戶交互做的好,寫的文章百度也能搜索的到。但是缺點是比較不自由,會受到平臺的各種限制和惡心的廣告,個性化不足。而自己購買域名和服務器,搭建博客的成本實在是太高了,不光是說這些購買成本,單單是花力氣去自己搭這么一個網站,還要定期的維護它,對于我們大多數人來說,也是沒有這樣的精力和時間。那么,我們能不能自己定制一個自己喜歡的個性化博客,同時也不用付出太高的成本啦?

          這就引出了第三種選擇,基于開源框架搭建博客,然后直接在github page平臺上托管我們的博客。這樣就可以安心的來寫作,又不需要定期維護,基于這個想法,今年8月初的時候開始搭建第一個屬于自己的獨立博客,前后斷續弄了近一周,到現在稍微有點模樣了。我想可能有很多小伙伴應該也想過搭建一個自己的博客,當然,網上也有一堆詳細教程。寫這篇博客的目的大概有兩個,第一個是當做自己的搭建記錄,方便以后自己隨時查看提示修改,第二個是稍稍總結一下具體的搭建步驟以及一些支持個性化定制的博客源碼修改的教程,稍稍分享一下這些修改經驗,當然,更多的一些個性化操作需要你自己以后在這個基礎上慢慢去摸索,有些寫的不太好的地方還希望看到的小伙伴多多包涵。

          博客初步的頁面效果可以看一下我的博客:sunhwee.com,歡迎大家支持。

          本博客基于Hexo,所以首先要了解一下我們搭建博客所要用到的框架。Hexo是高效的靜態網站生成框架,它基于Node.js,快速,簡單且功能強大,是搭建博客的首選框架。大家可以進入hexo官網進行詳細查看,因為Hexo的創建者是臺灣人,對中文的支持很友好,可以選擇中文進行查看。通過Hexo,你可以直接使用Markdown語法來撰寫博客。相信很多小伙伴寫工程都寫過README.md文件吧,對,就是這個格式的!寫完后只需兩三條命令即可將生成的網頁上傳到github或者coding等代碼管理托管平臺,然后別人就可以瀏覽你的博客網頁啦。是不是很簡單?你無需關心網頁源代碼的具體生成細節,只需要用心寫好你的博客文章內容就行了。

          簡單總結:Hexo, 產品成熟,使用簡單,功能強大,有豐富的各種插件資源;但,像發布后臺、站內搜索,評論系統類似訴求,雖然有對應的工具,但也需要自己折騰下,后續我們一步一步介紹。

          教程大致分三個部分,

          • 第一部分:hexo的初級搭建還有部署到github page上,以及個人域名的綁定。
          • 第二部分:hexo的基本配置,更換主題,實現多終端工作,以及在coding page部署實現國內外分流
          • 第三部分:hexo添加各種功能,包括搜索的SEO,閱讀量統計,訪問量統計和評論系統等。

          第一部分 搭建


          hexo的初級搭建還有部署到github page上,以及個人域名的綁定。

          Hexo搭建步驟

          • 1.安裝Git
          • 2.安裝Node.js
          • 3.安裝Hexo
          • 4.GitHub創建個人倉庫
          • 5.生成SSH添加到GitHub
          • 6.將hexo部署到GitHub
          • 7.設置個人域名
          • 8.發布文章

          1. 安裝Git


          為了把本地的網頁文件上傳到github上面去,需要用到工具———Git[下載地址]。Git是目前世界上最先進的分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。Git非常強大,建議每個人都去了解一下。廖雪峰老師的Git教程寫的非常好,大家可以看一下。Git教程

          windows:git官網上下載.exe文件,Download git,安裝選項還是全部默認,只不過最后一步添加路徑時選擇Use Git from the Windows Command Prompt,這樣我們就可以直接在命令提示符里打開git了。

          順便說一下,windowsgit安裝完后,就可以直接使用git bash來敲命令行了,不用自帶的cmdcmd有點難用。

          linux:linux來說實在是太簡單了,因為最早的git就是在linux上編寫的,只需要一行代碼

          sudo apt-get install git
          

          安裝完成后在命令提示符中輸入git --version來查看一下版本驗證是否安裝成功。

          2. 安裝nodejs


          Hexo是基于node.js編寫的,所以需要安裝一下node.js和里面的npm工具。

          windows:下載穩定版或者最新版都可以Node.js,安裝選項全部默認,一路點擊Next
          最后安裝好之后,按Win+R打開命令提示符,輸入node -vnpm -v,如果出現版本號,那么就安裝成功了。

          linux:命令行安裝:

          sudo apt-get install nodejs
          sudo apt-get install npm
          

          不過不推薦命令行安裝,有時候有問題,建議直接到官網去下載編譯好的壓縮文件,如下所示:


          然后解壓到你指定的文件夾即可,比如我解壓到我系統的/home/shw/MySoftwares目錄下了,如圖:

          注意本壓縮包是.tar.xz格式的,需要兩次解壓

          配置一下環境變量

          sudo vim /etc/profile
          

          復制下面兩行到剛打開的profile文件最底部(注意node的安裝地址
          /home/shw/MySoftwares/node-v12.8.0-linux-x64
          換成自己的):

          export NODE_HOME=/home/shw/MySoftwares/node-v12.8.0-linux-x64
          export PATH=$PATH:$NODE_HOME/bin
          

          保存后退出,再執行下面命令將環境變量生效:

          source /etc/profile
          

          將目錄軟鏈接到全局環境下(命令后面的/usr/local/bin/node是固定的)

          sudo ln -s /home/shw/MySoftwares/node-v12.8.0-linux-x64/node /usr/local/bin/node
          sudo ln -s /home/shw/MySoftwares/node-v12.8.0-linux-x64/npm /usr/local/bin/npm
          

          這樣安裝好了以后使用npm安裝的包(比如:ionic serve),使用包的命令時可能會提示找不到命令,沒關系,在用戶目錄下終端執行下面命令(固定寫法):

          echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc && source ~/.bashrc
          

          這樣我們在所有用戶下,都可以使用npm,也可以使用npm安裝的包的命令。成功地將nodejs安裝并配置到全局環境下。

          安裝完后,打開命令行終端,輸入:

          node -v
          npm -v
          

          檢查一下有沒有安裝成功

          添加國內鏡像源

          如果沒有梯子的話,可以使用阿里的國內鏡像進行加速。

          npm config set registry https://registry.npm.taobao.org
          

          3. 安裝Hexo


          前面gitnodejs安裝好后,就可以安裝hexo了,你可以先創建一個文件夾MyBlog,用來存放自己的博客文件,然后cd到這個文件夾下(或者在這個文件夾下直接右鍵git bash打開)。

          比如我的博客文件都存放在D:\Study\MyBlog目錄下。

          在該目錄下右鍵點擊Git Bash Here,打開git的控制臺窗口,以后我們所有的操作都在git控制臺進行,就不用Windows自帶的cmd了。

          定位到該目錄下,輸入npm install -g hexo-cli安裝Hexo。可能會有幾個報錯,無視它就行。

          npm install -g hexo-cli
          

          安裝完后輸入hexo -v驗證是否安裝成功。

          至此hexo就安裝完了。

          接下來初始化一下hexo,即初始化我們的網站,輸入hexo init初始化文件夾

          hexo init MyBlog
          

          這個MyBlog可以自己取什么名字都行,然后,接著輸入npm install安裝必備的組件。

          cd MyBlog      //進入這個MyBlog文件夾
          npm install
          

          新建完成后,指定文件夾MyBlog目錄下載:

          • node_modules: 依賴包
          • public:存放生成的頁面
          • scaffolds:生成文章的一些模板
          • source:用來存放你的文章
          • themes:主題**
          • _config.yml: 博客的配置文件**

          這樣本地的網站配置也弄好了,輸入hexo g生成靜態網頁,然后輸入hexo s打開本地服務器,

          hexo g
          hexo server(或者簡寫:hexo s))
          

          然后瀏覽器打開http://localhost:4000/,就可以看到我們的博客啦,效果如下:

          ctrl+c關閉本地服務器。

          4. 注冊Github賬號創建個人倉庫


          接下來就去注冊一個github賬號,用來存放我們的網站。大多數小伙伴應該都有了吧,作為一個合格的程序猿(媛)還是要有一個的。

          打開https://github.com/,新建一個項目倉庫New repository,如下所示:


          然后如下圖所示,輸入自己的項目名字,后面一定要加.github.io后綴,README初始化也要勾上。

          要創建一個和你用戶名相同的倉庫,后面加.http://github.io,只有這樣,將來要部署到GitHub page的時候,才會被識別,也就是http://xxxx.github.io,其中xxx就是你注冊GitHub的用戶名。例如我的:http://shw2018.github.io

          5. 生成SSH添加到GitHub


          生成SSH添加到GitHub,連接Github與本地。
          右鍵打開git bash,然后輸入下面命令:

          git config --global user.name "yourname"
          git config --global user.email "youremail"
          

          這里的yourname輸入你的GitHub用戶名,youremail輸入你GitHub的郵箱。這樣GitHub才能知道你是不是對應它的賬戶。例如我的:

          git config --global user.name "shw2018"
          git config --global user.email "hwsun@std.uestc.edu.cn"
          

          可以用以下兩條,檢查一下你有沒有輸對

          git config user.name
          git config user.email
          

          然后創建SSH,一路回車

          ssh,簡單來講,就是一個秘鑰,其中,id_rsa是你這臺電腦的私人秘鑰,不能給別人看的,id_rsa.pub是公共秘鑰,可以隨便給別人看。把這個公鑰放在GitHub上,這樣當你鏈接GitHub自己的賬戶時,它就會根據公鑰匹配你的私鑰,當能夠相互匹配時,才能夠順利的通過git上傳你的文件到GitHub上。

          ssh-keygen -t rsa -C "youremail"
          

          這個時候它會告訴你已經生成了.ssh的文件夾。在你的電腦中找到這個文件夾。或者git bash中輸入

          cat ~/.ssh/id_rsa.pub
          

          將輸出的內容復制到框中,點擊確定保存。

          打開github,在頭像下面點擊settings,再點擊SSH and GPG keys,新建一個SSH,名字隨便取一個都可以,把你的id_rsa.pub里面的信息復制進去。如圖:


          git bash輸入ssh -T git@github.com,如果如下圖所示,出現你的用戶名,那就成功了。

          6. 將hexo部署到GitHub


          這一步,我們就可以將hexoGitHub關聯起來,也就是將hexo生成的文章部署到GitHub上,打開博客根目錄下的_config.yml文件,這是博客的配置文件,在這里你可以修改與博客配置相關的各種信息。

          修改最后一行的配置:

          deploy:
            type: git
            repository: https://github.com/shw2018/shw2018.github.io
            branch: master
          

          repository修改為你自己的github項目地址即可,就是部署時,告訴工具,將生成網頁通過git方式上傳到你對應的鏈接倉庫中。

          這個時候需要先安裝deploy-git ,也就是部署的命令,這樣你才能用命令部署到GitHub

          npm install hexo-deployer-git --save
          

          然后

          hexo clean
          hexo generate
          hexo deploy
          

          其中 hexo clean清除了你之前生成的東西,也可以不加。 hexo generate顧名思義,生成靜態文章,可以用 hexo g縮寫 ,hexo deploy部署文章,可以用hexo d縮寫

          注意deploy時可能要你輸入usernamepassword

          得到下圖就說明部署成功了,過一會兒就可以在http://yourname.github.io 這個網站看到你的博客了!!

          7. 設置個人域名


          現在你的個人網站的地址是yourname.github.io,如果覺得這個網址逼格不太夠,這就需要你設置個人域名了。但是需要花錢。

          不過,這一步不是必要的,如果目前還不想買域名可以先跳過,繼續看后面的,以后想買域名了在還看這塊

          首先你得購買一個專屬域名,xx云都能買,看你個人喜好了。

          這篇以騰訊云為例,騰訊云官網購買:


          然后實名認證后進入騰訊云控制臺,點云解析進去,找到你剛買的域名,點進去添加兩條解析記錄,如下圖所示:

          然后打開你的github博客項目,點擊settings,拉到下面Custom domain處,填上你自己的域名,保存:

          這時候你的項目根目錄應該會出現一個名為CNAME的文件了。如果沒有的話,打開你本地博客/source目錄,我的是D:\Study\MyBlog\source,新建CNAME文件,注意沒有后綴。然后在里面寫上你的域名,保存。最后運行hexo ghexo d上傳到github

          過不了多久,再打開你的瀏覽器,輸入你自己的專屬域名,就可以看到搭建的網站啦!

          8. 寫文章、發布文章


          首先在博客根目錄下右鍵打開git bash,安裝一個擴展npm i hexo-deployer-git

          然后輸入hexo new post "article title",新建一篇文章。

          然后打開D:\Study\MyBlog\source\_posts的目錄,可以發現下面多了一個文件夾和一個.md文件,一個用來存放你的圖片等數據,另一個就是你的文章文件啦。
          你可以會直接在vscode里面編寫markdown文件,可以實時預覽,也可以用用其他編輯md文件的軟件的工具編寫。
          編寫完markdown文件后,根目錄下輸入hexo g生成靜態網頁,然后輸入hexo s可以本地預覽效果,最后輸入hexo d上傳到github上。這時打開你的github.io主頁就能看到發布的文章啦。

          到這兒基本第一部分就完成了,已經完整搭建起一個比較簡陋的個人博客了,接下來我們就可以對我們的博客進行個性化定制了。

          第二部分 定制


          我們要定制自己的博客的話,首先就要來了解一下Hexo博客的一些目錄和文件的作用,以及如何平滑更換漂亮的主題模板并加入自己的定制源代碼實現個性化定制

          1. Hexo相關目錄文件

          1.1 博客目錄構成介紹


          從上圖可以看出,博客的目錄結構如下:

          - node_modules
          - public
          - scaffolds
          - source
              - _data
          	- _posts
          	- about
          	- archives
              - categories
              - friends
          	- tags
          - themes
          

          node_modulesnode.js各種庫的目錄,public是生成的網頁文件目錄,scaffolds里面就三個文件,存儲著新文章和新頁面的初始設置,source是我們最常用到的一個目錄,里面存放著文章、各類頁面、圖像等文件,themes存放著主題文件,一般也用不到。

          我們平時寫文章只需要關注source/_posts這個文件夾就行了。

          1.2 hexo基本配置


          在文件根目錄下的_config.yml,就是整個hexo框架的配置文件了。可以在里面修改大部分的配置。詳細可參考官方的配置描述。

          1.2.1 網站


          參數描述title網站標題subtitle網站副標題description網站描述author您的名字language網站使用的語言timezone網站時區。Hexo 默認使用您電腦的時區。時區列表。比如說:America/New_York, Japan, 和 UTC

          其中,description主要用于SEO,告訴搜索引擎一個關于您站點的簡單描述,通常建議在其中包含您網站的關鍵詞。author參數用于主題顯示文章的作者。

          1.2.2 網址


          參數描述url網址root網站根目錄 permalink文章的永久鏈接格式permalink_defaults永久鏈接中各部分的默認值

          在這里,你需要把url改成你的網站域名

          permalink,也就是你生成某個文章時的那個鏈接格式。

          比如我新建一個文章叫temp.md,那么這個時候他自動生成的地址就是
          http://yoursite.com/2018/09/05/temp

          以下是官方給出的示例,關于鏈接的變量還有很多,需要的可以去官網上查找 永久鏈接 。

          參數結果
          :year/:month/:day/:title/2019/08/10/hello-world :year-:month-:day-:title.html 2019-08-10-hello-world.html :category/:titlefoo/bar/hello-world

          再往下翻,中間這些都默認就好了。

          theme: landscap
          

          theme就是選擇什么主題,也就是在themes這個文件夾下,在官網上有很多個主題,默認給你安裝的是lanscape這個主題。當你需要更換主題時,在官網上下載,把主題的文件放在themes文件夾下,再修改這個主題參數就可以了。

          1.2.3 Front-matter


          Front-mattermd文件最上方以 ---分隔的區域,用于指定個別文件的變量,舉例來說:

          title: Hexo+Github博客搭建記錄
          date: 2019-08-10 21:44:44
          

          下是預先定義的參數,您可在模板中使用這些參數值并加以利用。

          參數描述layout布局title標題date建立日期updated更新日期comments開啟文章的評論功能tags標簽(不適用于分頁)categories分類(不適用于分頁)permalink覆蓋文章網址

          其中,分類和標簽需要區別一下,分類具有順序性和層次性,也就是說FooBar不等于BarFoo;而標簽沒有順序和層次。

          ---
          title: Hexo+Github博客搭建記錄
          date: 2019-08-10 21:44:44
          author: 洪衛
          img: /medias/banner/7.jpg
          coverImg: /medias/banner/7.jpg
          top: true
          cover: true
          toc: true
          password: 5f15b28ffe43f8be4f239bdd9b69af9d80dbafcb20a5f0df5d1677a120ae9110
          mathjax: true
          summary: 這是你自定義的文章摘要內容,如果這個屬性有值,文章卡片摘要就顯示這段文字,否則程序會自動截取文章的部分內容作為摘要
          tags:
          - Hexo
          - Github
          - 博客
          categories:
          - 軟件安裝與配置
          ---
          

          1.2.4 layout(布局)


          1.2.4.1 post

          當你每一次使用代碼

          hexo new XXX
          

          它其實默認使用的是post這個布局,也就是在source文件夾下的_post里面。

          Hexo有三種默認布局:postpagedraft,它們分別對應不同的路徑,而您自定義的其他布局和post相同,都將儲存到source/_posts文件夾。

          而new這個命令其實是:

          hexo new [layout] <title>
          

          只不過這個layout默認是post罷了。

          1.2.4.2 page

          如果你想另起一頁,那么可以使用

          hexo new page newpage
          

          系統會自動給你在source文件夾下創建一個newpage文件夾,以及newpage文件夾中的index.md,這樣你訪問的newpage對應的鏈接就是http://xxx.xxx/newpage

          1.2.4.3 draft

          draft是草稿的意思,也就是你如果想寫文章,又不希望被看到,那么可以

          hexo new draft newdraft
          

          這樣會在source/_draft中新建一個newdraft.md文件,如果你的草稿文件寫的過程中,想要預覽一下,那么可以使用

          hexo server --draft
          

          在本地端口中開啟服務預覽。

          如果你的草稿文件寫完了,想要發表到post中,

          hexo publish draft newdraft
          

          就會自動把newdraft.md發送到post中。

          2. 更換主題


          我們在了解Hexo博客文件基礎之后,知道主題文件就放在themes文件下,那么我們就可以去Hexo官網下載喜歡的主題,復制進去然后修改參數即可。
          網上大多數主題都是github排名第一的Next主題,但是我個人不是很喜歡,我在網上看到一個主題感覺還不錯:hexo-theme-matery,地址在傳送門。這個主題看著比較漂亮,并且響應式比較友好,點起來很舒服,功能也比較很多。

          當然,人各有異,這個主題風格也不一定是你喜歡,那么你也可以跟著這教程類似的方法替換成你喜歡的就行了。

          特性:

          • 簡單漂亮,文章內容美觀易讀
          • Material Design 設計
          • 響應式設計,博客在桌面端、平板、手機等設備上均能很好的展現
          • 首頁輪播文章及每天動態切換 Banner 圖片
          • 瀑布流式的博客文章列表(文章無特色圖片時會有 24 張漂亮的圖片代替)
          • 時間軸式的歸檔頁
          • 詞云的標簽頁和雷達圖的分類頁
          • 豐富的關于我頁面(包括關于我、文章統計圖、我的項目、我的技能、相冊等)
          • 可自定義的數據的友情鏈接頁面
          • 支持文章置頂和文章打賞
          • 支持 MathJax
          • TOC 目錄
          • 可設置復制文章內容時追加版權信息
          • 可設置閱讀文章時做密碼驗證
          • Gitalk、Gitment、Valine 和 Disqus 評論模塊(推薦使用 Gitalk
          • 集成了不蒜子統計、谷歌分析(Google Analytics)和文章字數統計等功能
          • 支持在首頁的音樂播放和視頻播放功能

          他的介紹文檔寫得非常的詳細,還有中英文兩個版本。效果圖如下:

          首先先按照文檔教程安裝一遍主題,然后是可以正常打開的,如果你是一般使用的話,基本沒啥問題了。不過有些地方有些地方可以根據你自己的習慣和喜好修改一下, 下面記錄一下我這個博客修改了的一些地方。

          2.1 新建文章模板修改


          首先為了新建文章方便,我們可以修改一下文章模板,建議將/scaffolds/post.md修改為如下代碼:

          ---
          title: {{ title }}
          date: {{ date }}
          author: 
          img: 
          coverImg: 
          top: false
          cover: false
          toc: true
          mathjax: false
          password:
          summary:
          tags:
          categories:
          ---
          

          這樣新建文章后 一些Front-matter參數不用你自己補充了,修改對應信息就可以了。

          2.2 添加404頁面


          原來的主題沒有404頁面,我們加一個。首先在/source/目錄下新建一個404.md,內容如下:

          title: 404
          date: 2019-08-5 16:41:10
          type: "404"
          layout: "404"
          description: "Oops~,我崩潰了!找不到你想要的頁面 :("
          

          然后在/themes/matery/layout/目錄下新建一個404.ejs文件,內容如下:

          <style type="text/css">
              /* don't remove. */
              .about-cover {
                  height: 75vh;
              }
          </style>
          
          <div class="bg-cover pd-header about-cover">
              <div class="container">
                  <div class="row">
                      <div class="col s10 offset-s1 m8 offset-m2 l8 offset-l2">
                          <div class="brand">
                              <div class="title center-align">
                                  404
                              </div>
                              <div class="description center-align">
                                  <%= page.description %>
                              </div>
                          </div>
                      </div>
                  </div>
              </div>
          </div>
          
          <script>
              // 每天切換 banner 圖.  Switch banner image every day.
              $('.bg-cover').css('background-image', 'url(/medias/banner/' + new Date().getDay() + '.jpg)');
          </script>
          

          2.3“關于”頁面增加簡歷(可選)


          修改
          /themes/matery/layout/about.ejs
          ,找到<div class="card">標簽,然后找到它對應的</div>標簽,接在后面新增一個card,語句如下:

          <div class="card">
              <div class="card-content">
                  <div class="card-content article-card-content">
                          <div class="title center-align" data-aos="zoom-in-up">
                              <i class="fa fa-address-book"></i>  <%- __('myCV') %>
                          </div>
                          <div id="articleContent" data-aos="fade-up">
                              <%- page.content %>
                          </div>
                  </div>
              </div>
          </div>
          

          這樣就會多出一張card,然后可以在/source/about/index.md下面寫上你的簡歷了,當然這里的位置隨你自己設置,你也可以把簡歷作為第一個card

          2.4 數學公式渲染和代碼高亮


          2.4.1 解決mathjax與代碼高亮的沖突

          如果你按照教程安裝了代碼高亮插件hexo-prism-plugin,單獨使用是沒有問題的,但如果你又使用了mathjax,并且按照網上教程,安裝kramed插件并修改了js文件里的正則表達式(為了解決markdownmathjax的語法沖突),那你的代碼就無法高亮了。解決方法很簡單,別用kramed插件了,還用原來自帶的marked插件,直接改它的正則表達式就行了。

          2.4.2 加數學公式顯示

          打開/themes/matery/layout中的post.ejs文件,在最下方粘貼如下代碼:

          <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
          

          由于markdown語法與mathjax語法存在沖突,所以還需要修改源文件。

          打開/node_modules/marked/lib中的marked.js文件,第539行的escape:處替換成:

          escape: /^$[`*\[\]()#$+\-.!_>])/
          

          第553行的em:處替換成:

          em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/
          

          這時在文章里寫數學公式基本沒有問題了,但是要注意:
          數學公式中如果出現了連續兩個{,中間一定要加空格!

          舉個例子:
          行內公式:y=f(x)y=f(x)
          代碼:

          $y = f(x)$
          

          行間公式:

          y=fg1(x)y=fg1(x)


          代碼:

          \\[y = {f_{ {g_1}}}(x)\\]
          

          注意上面花括號之間有空格!

          2.5 增加建站時間


          修改
          /themes/matery/layout/_partial
          中的footer.ejs,在最后加上:

          <script language=javascript>
              function siteTime() {
                  window.setTimeout("siteTime()", 1000);
                  var seconds = 1000;
                  var minutes = seconds * 60;
                  var hours = minutes * 60;
                  var days = hours * 24;
                  var years = days * 365;
                  var today = new Date();
                  var todayYear = today.getFullYear();
                  var todayMonth = today.getMonth() + 1;
                  var todayDate = today.getDate();
                  var todayHour = today.getHours();
                  var todayMinute = today.getMinutes();
                  var todaySecond = today.getSeconds();
                  /* Date.UTC() -- 返回date對象距世界標準時間(UTC)1970年1月1日午夜之間的毫秒數(時間戳)
                  year - 作為date對象的年份,為4位年份值
                  month - 0-11之間的整數,做為date對象的月份
                  day - 1-31之間的整數,做為date對象的天數
                  hours - 0(午夜24點)-23之間的整數,做為date對象的小時數
                  minutes - 0-59之間的整數,做為date對象的分鐘數
                  seconds - 0-59之間的整數,做為date對象的秒數
                  microseconds - 0-999之間的整數,做為date對象的毫秒數 */
                  var t1 = Date.UTC(2017, 09, 11, 00, 00, 00); //北京時間2018-2-13 00:00:00
                  var t2 = Date.UTC(todayYear, todayMonth, todayDate, todayHour, todayMinute, todaySecond);
                  var diff = t2 - t1;
                  var diffYears = Math.floor(diff / years);
                  var diffDays = Math.floor((diff / days) - diffYears * 365);
                  var diffHours = Math.floor((diff - (diffYears * 365 + diffDays) * days) / hours);
                  var diffMinutes = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours) / minutes);
                  var diffSeconds = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours - diffMinutes * minutes) / seconds);
                  document.getElementById("sitetime").innerHTML = "本站已運行 " +diffYears+" 年 "+diffDays + " 天 " + diffHours + " 小時 " + diffMinutes + " 分鐘 " + diffSeconds + " 秒";
              }/*因為建站時間還沒有一年,就將之注釋掉了。需要的可以取消*/
              siteTime();
          </script>
          

          然后在合適的地方(比如copyright聲明后面)加上下面的代碼就行了:

          <span id="sitetime"></span>
          

          2.6 修改不蒜子初始化計數


          因為不蒜子至今未開放注冊,所以沒辦法在官網修改初始化,只能自己動手了。和上一條一樣,我們在
          /themes/matery/layout/_partial
          里的footer.ejs文件最后加上:

          <script>
              $(document).ready(function () {
          
                  var int = setInterval(fixCount, 50);  // 50ms周期檢測函數
                  var pvcountOffset = 80000;  // 初始化首次數據
                  var uvcountOffset = 20000;
          
                  function fixCount() {
                      if (document.getElementById("busuanzi_container_site_pv").style.display != "none") {
                          $("#busuanzi_value_site_pv").html(parseInt($("#busuanzi_value_site_pv").html()) + pvcountOffset);
                          clearInterval(int);
                      }
                      if ($("#busuanzi_container_site_pv").css("display") != "none") {
                          $("#busuanzi_value_site_uv").html(parseInt($("#busuanzi_value_site_uv").html()) + uvcountOffset); // 加上初始數據 
                          clearInterval(int); // 停止檢測
                      }
                  }
              });
          </script>
          

          然后把上面幾行有段代碼:

          <% if (theme.busuanziStatistics && theme.busuanziStatistics.totalTraffic) { %>
              <span id="busuanzi_container_site_pv">
                  <i class="fa fa-heart-o"></i>
                  本站總訪問量 <span id="busuanzi_value_site_pv" class="white-color"></span>
              </span>
          <% } %>
          <% if (theme.busuanziStatistics && theme.busuanziStatistics.totalNumberOfvisitors) { %>
              <span id="busuanzi_container_site_uv">
                  人次, 訪客數 <span id="busuanzi_value_site_uv" class="white-color"></span> 人.
              </span>
          <% } %>
          

          修改為:

          <% if (theme.busuanziStatistics && theme.busuanziStatistics.totalTraffic) { %>
              <span id="busuanzi_container_site_pv" style='display:none'>
                  <i class="fa fa-heart-o"></i>
                  本站總訪問量 <span id="busuanzi_value_site_pv" class="white-color"></span>
              </span>
          <% } %>
          <% if (theme.busuanziStatistics && theme.busuanziStatistics.totalNumberOfvisitors) { %>
              <span id="busuanzi_container_site_uv" style='display:none'>
                  人次, 訪客數 <span id="busuanzi_value_site_uv" class="white-color"></span> 人.
              </span>
          <% } %>
          

          其實就是增加了兩個style='display:none'而已。

          2.7 添加動漫人物


          其實三步就行了,不用像網上有些教程那么復雜。

          第一步:

          npm install --save hexo-helper-live2d
          

          第二步:

          npm install live2d-widget-model-shizuku
          

          這里的動漫模型可以改,只需要下載對應模型就行了,你可以官方倉庫去看有哪些模型,下載你喜歡的就行。

          第三步:
          在根目錄配置文件中添加如下代碼:

          live2d:
              enable: true
              scriptFrom: local
              pluginRootPath: live2dw/
              pluginJsPath: lib/
              pluginModelPath: assets/
              tagMode: false
              log: false
              model:
                  use: live2d-widget-model-shizuku
              display:
                  position: right
                  width: 150
                  height: 300
              mobile:
                  show: false
              react:
                  opacity: 0.7
          

          然后hexo ghexo s就能預覽出效果了,但是有個注意的地方,這個動漫人物最好不要和不蒜子同時使用,不然不蒜子會顯示不出來。至于解決辦法后續更新。

          解決動漫人物和不蒜子不能同時使用的bug(2019.08.11)

          打開themes\matery\layout\_partial中的footer.ejs,將本站總訪問量和訪客數的代碼改為如下:

          <% if (theme.busuanziStatistics && theme.busuanziStatistics.totalTraffic) { %>      
              <span id="busuanzi_container_site_pv" style='display:none'></span>
                  <i class="fa fa-heart-o"></i>
                  本站總訪問量 <span id="busuanzi_value_site_pv" class="white-color"></span>
          
          <% } %>
          
          <% if (theme.busuanziStatistics && theme.busuanziStatistics.totalNumberOfvisitors) { %>
              <span id="busuanzi_container_site_uv" style='display:none'></span>
                  人次, 訪客數 <span id="busuanzi_value_site_uv" class="white-color"></span> 人.
              
          <% } %>
          

          變化就在下面兩句,將源代碼對應字段后面的</span>寫在前面了。

          <span id="busuanzi_container_site_pv" style='display:none'></span>
          <span id="busuanzi_container_site_uv" style='display:none'></span>
          

          發現按照上面改了過后,又出現一個新bug:文章頭部的閱讀次數不顯示了,解決辦法:(2019.08.11)

          打開themes\matery\layout\_partial中的post-detail.ejs,找到對應代碼字段:

          <% if (theme.busuanziStatistics && theme.busuanziStatistics.enable) { %>
              <div id="busuanzi_container_page_pv" class="info-break-policy">
                  <i class="fa fa-eye fa-fw"></i><%- __('readCount') %>:  
                  <span id="busuanzi_value_page_pv" ></span>
              </div>
          
          <% } %>
          

          修改為下面的就可以了:

          <% if (theme.busuanziStatistics && theme.busuanziStatistics.enable) { %>
                  <span id="busuanzi_container_site_pv" style='display:none'></span>
                  <i class="fa fa-eye fa-fw"></i><%- __('readCount') %>:  
                  <span id="busuanzi_value_page_pv" ></span>
          
          <% } %>
          

          2.8 添加評論插件


          由于這個主題自帶了gittalkgitmentvaline等評論插件,所以我們只需要對應插件參數就行了,這個博客用的是gittalk,如下:

          當然也可以用其他評論插件,只需要配置對應項就是了,不是自帶的可以照著網上的教程自己弄一個,類似的文章有很多,可以搜索關鍵字就行了。

          2.9 添加網易云音樂BGM


          寫文章的時候,想插入一段BGM怎么辦?

          其實我們可以借助一些在線音樂的外鏈播放方式,首先打開網易云網頁版,找到想聽的歌曲,然后點擊生成外鏈:

          可能你會遇到問題,比如點擊生成外鏈會提示你由于版權原因,不能生成,那么可以用下面辦法(目前還有效,不知道后面會不會失效)

          1. (以 Chrome為例,其他瀏覽器類似) 打開歌單頁面,在“生成外鏈播放器”上右擊,點擊審查元素(檢查)ctrl+shift+i;
          2. 接著找到生成外鏈播放器這段文字直接雙擊復制前面的/outchain/2/20707408/

          1. 然后在瀏覽器地址欄修改歌單鏈接,示例:http://music.163.com/#//outchain/2/20707408/
          2. 然后就轉到外鏈設置頁面了。

          復制如下代碼:

          粘貼到文章對應位置就行了,為了美觀,設置一下居中,具體代碼如下:

          <div align="middle">這里粘貼剛剛復制的代碼</div>
          

          2.10 博客音樂板塊


          如果我們自己寫博客寫疲勞了,想放松一下聽聽歌又不想切出博客主頁,那么我們可以自己定制一個博客音樂播放界面,把自己喜歡的歌曲都放進來,這里用到是Aplayer插件,但是歌曲來源需要我們自己定義,但是,因為各大音樂平臺,由于版權原因,很多歌曲是不支持外鏈播放的,難道我們就必須每首歌下載然后上傳云空間,再獲取詞曲封面么?這就比較麻煩了。其實不然,研究了半個小時,我發現可以采取下面的辦法,很方便:

          • 首先我們找到網易云在線平臺,任意找到一首歌點進去播放,可以在地址欄拿到音樂ID
          • 然后通過下面網址:http://music.163.com/song/media/outer/url?id=XXXXXX.mp3, XXXXXX就是歌曲ID號,每一首歌我們只需要換掉這個ID號就行了,就相當于每一首的外鏈了
          • 最后封面圖也可以按F12去找頁面元素的鏈接,填到對應的musics.jason文件中就可以,批量填入,聽到好聽的歌曲隨時更換隨時新增,很方便。

          操作如下圖:

          2.11 增加emoji支持


          為博客新增對emoji表情的支持,使用到了 hexo-filter-github-emojis 的 Hexo 插件來支持 emoji表情的生成,把對應的markdown emoji語法(::,例如: :smile:)轉變成會跳躍的emoji表情,安裝命令如下:

          npm install hexo-filter-github-emojis --save
          

          在 Hexo 根目錄下的 _config.yml 文件中,新增以下的配置項:

          githubEmojis:
            enable: true
            className: github-emoji
            inject: true
            styles:
            customEmojis:
          

          執行 hexo clean && hexo g 重新生成博客文件,然后就可以在文章中對應位置看到你用emoji語法寫的表情了。
          如下圖:

          2.12 Valine評論模塊修改


          matery主題已經集成Valine評論模塊,在主題配置文件.yml中配置相應的字段就行了。enable: trueXXX字段是需要自己注冊登錄leancloud官網,創建應用然后獲取appIdappKey,其他參數根據自己的需求修改就是,如下:

          valine:
            enable: true
            appId: XXXXXXXXXXXXXXXXXXXXX
            appKey: XXXXXXXXXXXXXXXXXXXX
            notify: true
            verify: true
            visitor: true
            avatar: 'mm' # Gravatar style : mm/identicon/monsterid/wavatar/retro/hide
            pageSize: 10
            placeholder: 'just go go' # Comment Box placeholder
          
          

          注意:Valine用在matery主題上有個bug就是第一條評論位置會錯位

          如下圖:

          解決辦法:
          F12開發者模式,控制臺定位bug位置,修改參數,調整對應主題源文件參數,得以解決,如下圖示:

          2.13 添加博客動態標簽


          原理就是給博客增加一個事件判斷,如下圖所示:

          打開博客主題文件夾,路徑:
          themes/matery/layout/layout.ejs
          ,在對應位置添加如下代碼:

          <script type="text/javascript">
              var OriginTitile = document.title,
                  st;
              document.addEventListener("visibilitychange", function () {
                  document.hidden ? (document.title = "看不見我~看不見我~", clearTimeout(st)) : (document.title =
                      "(??????) ?被發現了~", st = setTimeout(function () {
                          document.title = OriginTitile
                      }, 3e3))
              })
          </script>
          

          然后 hexo clean && hexo g 即可。

          第三部分 優化


          hexo添加各種優化功能,比如SEO優化等。
          待續......

          1. 網站SEO優化


          網站推廣是一個比較煩人的事情,特別是對于專心搞技術的來說,可能就不是很擅長,那么怎么才能讓別人知道我們網站呢?也就是說我們需要想辦法讓別人通過搜索就可以搜索到博客的內容,給我們帶來自然流量,這就需要seo優化,讓我們的站點變得對搜索引擎友好

          SEO是由英文Search Engine Optimization縮寫而來, 中文意譯為“搜索引擎優化”。SEO是指通過站內優化比如網站結構調整、網站內容建設、網站代碼優化等以及站外優化。

          1.1 讓百度收錄你的站點


          首先要做的就是讓各大搜索引擎收錄你的站點,我們在剛建站的時候各個搜索引擎是沒有收錄我們網站的,在搜索引擎中輸入site:<域名>,如果如下圖所示就是說明我們的網站并沒有被百度收錄。我們可以直接點擊下面的“網址提交”來提交我們的網站

          1.1.1 驗證網站所有權


          登錄百度站長搜索資源平臺:
          http://zhanzhang.baidu.com, 只要有百度旗下的賬號就可以登錄,登錄成功之后在站點管理中點擊添加網站然后輸入你的站點地址。

          注意,這里需要輸入我們自己購買的域名,不能使用xxx.github.io之類域名.因為github是不允許百度的spider(蜘蛛)爬取github上的內容的,所以如果想讓你的站點被百度收錄,只能使用自己購買的域名

          在填完網址選擇完網站的類型之后需要驗證網站的所有權,驗證網站所有權的方式有三種:

          • 文件驗證。
          • html標簽驗證
          • CNAME解析驗證(推薦使用

          其實使用哪一種方式都可以,都是比較簡單的。

          但是一定要注意,使用文件驗證文件存放的位置需要放在sourc文件夾下,如果是html文件那么hexo就會將其編譯,所以必須要在html頭部加上的layout:false,這樣就不會被hexo編譯。(如果驗證文件是txt格式的就不需要)

          其他兩種方式也是很簡單的,個人推薦文件驗證CNAME驗證,CNAME驗證最為簡單,只需加一條解析就好~

          1.1.2 生成網站地圖


          我們需要使用npm自動生成網站的sitemap,然后將生成的sitemap提交到百度和其他搜索引擎

          1.1.2.1 安裝sitemap插件


          npm install hexo-generator-sitemap --save     
          npm install hexo-generator-baidu-sitemap --save
          

          1.1.2.2 修改博客配置文件


          在根目錄配置文件.yml中修改url為你的站點地址

          # URL
          ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
          # url: https://shw2018.github.io/
          url: https://sunhwee.com
          root: /
          permalink: :year/:month/:day/:title/
          permalink_defaults:
          

          執行完hexo g命令之后就會在網站根目錄生成sitemap.xml文件和baidusitemap.xml文件,可以通過:
          https://sunhwee.com/baidusitemap.xml, 查看該文件是否生成,其中sitemap.xml文件是搜索引擎通用的文件,baidusitemap.xml是百度專用的sitemap文件。

          1.1.3 向百度提交鏈接


          然后我們就可以將我們生成的sitemap文件提交給百度,還是在百度站長平臺,找到鏈接提交,這里我們可以看到有兩種提交方式,自動提交和手動提交,自動提交又分為主動推送、自動推送和sitemap

          如何選擇鏈接提交方式

          主動推送:最為快速的提交方式,推薦您將站點當天新產出鏈接立即通過此方式推送給百度,以保證新鏈接可以及時被百度收錄。自動推送:最為便捷的提交方式,請將自動推送的JS代碼部署在站點的每一個頁面源代碼中,部署代碼的頁面在每次被瀏覽時,鏈接會被自動推送給百度。可以與主動推送配合使用。sitemap:您可以定期將網站鏈接放到sitemap中,然后將sitemap提交給百度。百度會周期性的抓取檢查您提交的sitemap,對其中的鏈接進行處理,但收錄速度慢于主動推送。手動提交:一次性提交鏈接給百度,可以使用此種方式。

          一般主動提交比手動提交效果好,這里介紹主動提交的三種方法

          從效率上來說:

          主動推送>自動推送>sitemap

          1.1.3.1 設置主動推送


          安裝插件hexo-baidu-url-submit

          npm install hexo-baidu-url-submit --save
          

          然后再根目錄的配置文件中新增字段

          baidu_url_submit:
            count: 80             # 提交最新的一個鏈接
            host: www.sunhwee.com # 在百度站長平臺中注冊的域名
            token: xxxxxxxxxxxxxx # 請注意這是您的秘鑰, 所以請不要把博客源代碼發布在公眾倉庫里!
            path: baidu_urls.txt  # 文本文檔的地址, 新鏈接會保存在此文本文檔里
          

          再加入新的deploy

          deploy:
          - type: baidu_url_submitter
          

          如圖所示:

          注意,這里多個 type 的寫法應該這么寫**,前面那個 type 是我推送到 GithubCodingpage頁面的配置,后面再講這個。

          密鑰的獲取位置在網頁抓取中的鏈接提交這一塊,如下所示:

          這樣執行hexo deploy的時候,新的鏈接就會被推送了。

          推送成功時,會有如下終端提示

          在主題配置文件下設置,將baidu_push設置為true:

          1.1.3.2 設置自動推送


          在主題配置文件下設置,將baidu_push設置為true:

          # Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO
          baidu_push: true
          

          然后主題文件目錄加入下面代碼,一般在目錄
          /themes/matery/layout/_partial
          中的head.ejs中加入下面JS代碼(有可能你的目錄不是這樣,原理類似),這樣全站都有了:

          <% if (theme.baidu_push) { %>
              <script>
                  (function(){
                      var bp = document.createElement('script');
                      var curProtocol = window.location.protocol.split(':')[0];
                      if (curProtocol === 'https') {
                          bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
                      }
                      else {
                          bp.src = 'http://push.zhanzhang.baidu.com/push.js';
                      }
                      var s = document.getElementsByTagName("script")[0];
                      s.parentNode.insertBefore(bp, s);
                  })();
              </script>
          <% } %> 
          

          這樣每次訪問博客中的頁面就會自動向百度提交sitemap

          1.1.3.3sitemap方式


          將我們上一步生成的sitemap文件提交到百度就可以了~


          百度收錄過程還是蠻久的,需要大家耐心等待一下,提交鏈接在站長工具中有顯示大概是要兩天,站點被百度收錄大概花了半個月= =,收錄了之后,可以在百度搜索site: xxxxx.com可以搜索到結果

          1.2 讓google收錄你的站點


          1.2.1 操作步驟

          相比于百度,google的效率實在不能更快,貌似十分鐘左右站點就被收錄了,其實方法是和百度是一樣的。

          google站點平臺:
          https://www.google.com/webmasters/

          • 注冊賬號
          • 驗證站點
          • 提交sitemap

          google 添加 sitemap 后: 進入 Google Search Console - 抓取 - 站點地圖,點擊「添加/測試站點地圖」,輸入你的博客網址. 若無報錯則站點地圖提交成功

          一步一步來就好,過不了過久就可以被google收錄了

          robots.txt 是一種存放于網站根目錄下的 ASCII 編碼的文本文件,它的作用是告訴搜索引擎此網站中哪些內容是可以被爬取的,哪些是禁止爬取的。robots.txt 放在博客目錄下的 source 文件夾中,博客生成后在站點目錄 /public/ 下。

          robots.txt 是一種存放于網站根目錄下的 ASCII 編碼的文本文件,它的作用是告訴搜索引擎此網站中哪些內容是可以被爬取的,哪些是禁止爬取的。robots.txt 放在博客目錄下的 source 文件夾中,博客生成后在站點目錄 /public/ 下。

          我的 robots.txt 文件內容如下:

          User-agent: *
          Allow: /
          Allow: /archives/
          Allow: /categories/
          Allow: /about/
          Disallow: /js/
          Disallow: /css/
          Disallow: /fonts/
          Disallow: /vendors/
          

          索引擎收錄你的站點


          除了百度和google兩大搜索引擎,還有搜狗、360等其他的搜索引擎,流程都是一樣的,大家就自行選擇添加哈,這里就不再贅述了~

          1.4 優化你的url


          seo搜索引擎優化認為,網站的最佳結構是用戶從首頁點擊三次就可以到達任何一個頁面,但是我們使用hexo編譯的站點打開文章的url是:
          sitename/year/mounth/day/title
          四層的結構,這樣的url結構很不利于seo,爬蟲就會經常爬不到我們的文章,于是,我們需要優化一下網站文章url

          方案一:

          我們可以將url直接改成sitename/title的形式,并且title最好是用英文,在根目錄的配置文件下修改permalink如下:

          url: https://sunhwee.com
          root: /
          permalink: :title.html
          permalink_defaults:
          

          方案二:

          使用插件優化url

          插件hexo-abbrlink實現了這個功能,它將原來的URL地址重新進行了進制轉換和再編碼。

          安裝hexo-abbrlink

          npm install hexo-abbrlink --save
          

          配置博客根目錄下的_config.yml文件。

          # permalink: :title/
          permalink: archives/:abbrlink.html
          abbrlink:
            alg: crc32  # 算法:crc16(default) and crc32
            rep: hex    # 進制:dec(default) and hex
          

          運行hexo cleanhexo g命令來重新生成文件看看,可以清楚的看到,URL結構成功變為了3層。

          1.5 其他seo優化


          seo優化應該說是一個收益延遲的行為,可能你做的優化短期內看不到什么效果,但是一定要堅持,seo優化也是有很深的可以研究的東西,從我們最初的網站設計,和最基礎的標簽的選擇都有很大的關系,網站設計就如我們剛剛說的,要讓用戶點擊三次可以到達網站的任何一個頁面,要增加高質量的外鏈,增加相關推薦(比如說我們經常見到右側本站的最高閱讀的排名列表),然后就是給每一個頁面加上keyword和描述

          在代碼中,我們應該寫出能讓瀏覽器識別的語義化HTML,這樣有助于爬蟲抓取更多的有效信息:爬蟲依賴于標簽來確定上下文和各個關鍵字的權重;并且對外鏈設置nofollow標簽,避免spider爬著爬著就爬出去了(減少網站的跳出率),并且我們要盡量在一些比較大的網站增加我們站點的曝光率,因為spider會經常訪問大站,比如我們在掘金等技術社區發表文章中帶有我們的站點,這樣spider是很有可能爬到我們中的站點的,so....

          • 網站外鏈的推廣度、數量和質量
          • 網站的內鏈足夠強大
          • 網站的原創質量
          • 網站的年齡時間
          • 網站的更新頻率(更新次數越多越好)
          • 網站的服務器
          • 網站的流量:流量越高網站的權重越高
          • 網站的關鍵詞排名:關鍵詞排名越靠前,網站的權重越高
          • 網站的收錄數量:網站百度收錄數量越多,網站百度權重越高
          • 網站的瀏覽量及深度:用戶體驗越好,網站的百度權重越高

          2. 優化代碼塊樣式


          由于代碼高亮插件prism_plugin的樣式沒有行號顯示和代碼塊整體復制功能,不是很方便,為了優化觀感和易用性,我們可以對其進行修改:
          待續......

          2.1 給代碼塊開啟行號


          我們在配置文件.yml中找到prism_plugin配置項line_number: false(# default false)改為true,開啟行號,但是在我們這個matery主題中中是無效的,有bug需要改一下matery.css樣式參數,在第95行位置將:

          pre {
              padding: 1.5rem !important;
              margin: 1rem 0 !important;
              background: #272822;
              overflow: auto;
              border-radius: 0.35rem;
              tab-size: 4;
          }
          

          改為:

          pre {
              padding: 1.5rem 1.5rem 1.5rem 3.3rem !important;
              margin: 1rem 0 !important;
              background: #272822;
              overflow: auto;
              border-radius: 0.35rem;
              tab-size: 4;
          }
          

          注釋掉緊接著的code代碼塊里面的font-size項,如下:

          code {
              padding: 1px 5px;
              font-family: Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace;
              /*font-size: 0.91rem;*/
              color: #e96900;
              background-color: #f8f8f8;
              border-radius: 2px;
          }
          

          好了這下可以顯示行號了,如圖:

          2.2 添加代碼塊復制功能


          3. 優化網站加載速度


          3.1 優化圖片加載


          issue問題:
          優化網站加載邏輯問題:圖片最后加載,加入圖片懶加載方法

          hexo-lazyload-image的作用原理是講你博客里面img標簽的src屬性替換為一個loading image,把真實的圖片地址放在data-origin屬性下面。然后當你的網頁翻到那張圖片時(也就是圖片在窗口中完全可見時),他會有一段js用data-origin的內容替換src,打到懶加載的目的。

          一般情況下懶加載和gallery插件會發生沖突,比如按照我上面所說,最終結果就會變成,可能只有第一張圖片在gallery中打開是原圖,右翻左翻都會是那張loading image,需要你掌握js,可以修改matery.js里面的內容,甚至可能換一個gallery,比如photosiwpe之類的

          解決方法:修改/themes/matery/source/js中的matery.js文件

          第103行:

          $('#articleContent, #myGallery').lightGallery({
              selector: '.img-item',
              // 啟用字幕
              subHtmlSelectorRelative: true,
              showThumbByDefault: false   //這句加上
          });
          

          后面加上:

          $(document).find('img[data-original]').each(function(){
              $(this).parent().attr("href", $(this).attr("data-original"));
          });
          

          再裝個插件,
          https://github.com/Troy-Yang/hexo-lazyload-image
          在博客根目錄配置.yml文件加入對應字段,如下:

          # lazyload configuration  2019.08.23
          lazyload:
            enable: true 
            onlypost: false
            loadingImg:     # eg ./images/loading.gif
          

          好了,這樣實現了博客網站的圖片懶加載。

          3.2 Gulp實現代碼壓縮


          Gulp實現代碼壓縮,以提升網頁加載速度。

          1 首先我們需要安裝Gulp插件和5個功能模塊,依次運行下面的兩條命令。

          npm install gulp -g  #安裝gulp
          # 安裝功能模塊
          npm install gulp-htmlclean gulp-htmlmin gulp-minify-css gulp-uglify gulp-imagemin --save
          # 額外的功能模塊
          npm install gulp-debug gulp-clean-css gulp-changed gulp-if gulp-plumber gulp-babel babel-preset-es2015 del --save
          

          2 接下來在博客的根目錄下新建gulpfile.js文件,并復制下面的內容到文件中。

          var gulp = require("gulp");
          var debug = require("gulp-debug");
          var cleancss = require("gulp-clean-css"); //css壓縮組件
          var uglify = require("gulp-uglify"); //js壓縮組件
          var htmlmin = require("gulp-htmlmin"); //html壓縮組件
          var htmlclean = require("gulp-htmlclean"); //html清理組件
          var imagemin = require("gulp-imagemin"); //圖片壓縮組件
          var changed = require("gulp-changed"); //文件更改校驗組件
          var gulpif = require("gulp-if"); //任務 幫助調用組件
          var plumber = require("gulp-plumber"); //容錯組件(發生錯誤不跳出任務,并報出錯誤內容)
          var isScriptAll = true; //是否處理所有文件,(true|處理所有文件)(false|只處理有更改的文件)
          var isDebug = true; //是否調試顯示 編譯通過的文件
          var gulpBabel = require("gulp-babel");
          var es2015Preset = require("babel-preset-es2015");
          var del = require("del");
          var Hexo = require("hexo");
          var hexo = new Hexo(process.cwd(), {}); // 初始化一個hexo對象
          
          // 清除public文件夾
          gulp.task("clean", function() {
            return del(["public/**/*"]);
          });
          
          // 下面幾個跟hexo有關的操作,主要通過hexo.call()去執行,注意return
          // 創建靜態頁面 (等同 hexo generate)
          gulp.task("generate", function() {
            return hexo.init().then(function() {
              return hexo
                .call("generate", {
                  watch: false
                })
                .then(function() {
                  return hexo.exit();
                })
                .catch(function(err) {
                  return hexo.exit(err);
                });
            });
          });
          
          // 啟動Hexo服務器
          gulp.task("server", function() {
            return hexo
              .init()
              .then(function() {
                return hexo.call("server", {});
              })
              .catch(function(err) {
                console.log(err);
              });
          });
          
          // 部署到服務器
          gulp.task("deploy", function() {
            return hexo.init().then(function() {
              return hexo
                .call("deploy", {
                  watch: false
                })
                .then(function() {
                  return hexo.exit();
                })
                .catch(function(err) {
                  return hexo.exit(err);
                });
            });
          });
          
          // 壓縮public目錄下的js文件
          gulp.task("compressJs", function() {
            return gulp
              .src(["./public/**/*.js", "!./public/libs/**"]) //排除的js
              .pipe(gulpif(!isScriptAll, changed("./public")))
              .pipe(gulpif(isDebug, debug({ title: "Compress JS:" })))
              .pipe(plumber())
              .pipe(
                gulpBabel({
                  presets: [es2015Preset] // es5檢查機制
                })
              )
              .pipe(uglify()) //調用壓縮組件方法uglify(),對合并的文件進行壓縮
              .pipe(gulp.dest("./public")); //輸出到目標目錄
          });
          
          // 壓縮public目錄下的css文件
          gulp.task("compressCss", function() {
            var option = {
              rebase: false,
              //advanced: true,               //類型:Boolean 默認:true [是否開啟高級優化(合并選擇器等)]
              compatibility: "ie7" //保留ie7及以下兼容寫法 類型:String 默認:''or'*' [啟用兼容模式; 'ie7':IE7兼容模式,'ie8':IE8兼容模式,'*':IE9+兼容模式]
              //keepBreaks: true,             //類型:Boolean 默認:false [是否保留換行]
              //keepSpecialComments: '*'      //保留所有特殊前綴 當你用autoprefixer生成的瀏覽器前綴,如果不加這個參數,有可能將會刪除你的部分前綴
            };
            return gulp
              .src(["./public/**/*.css", "!./public/**/*.min.css"]) //排除的css
              .pipe(gulpif(!isScriptAll, changed("./public")))
              .pipe(gulpif(isDebug, debug({ title: "Compress CSS:" })))
              .pipe(plumber())
              .pipe(cleancss(option))
              .pipe(gulp.dest("./public"));
          });
          
          // 壓縮public目錄下的html文件
          gulp.task("compressHtml", function() {
            var cleanOptions = {
              protect: /<\!--%fooTemplate\b.*?%-->/g, //忽略處理
              unprotect: /<script [^>]*\btype="text\/x-handlebars-template"[\s\S]+?<\/script>/gi //特殊處理
            };
            var minOption = {
              collapseWhitespace: true, //壓縮HTML
              collapseBooleanAttributes: true, //省略布爾屬性的值  <input checked="true"/> ==> <input />
              removeEmptyAttributes: true, //刪除所有空格作屬性值    <input id="" /> ==> <input />
              removeScriptTypeAttributes: true, //刪除<script>的type="text/javascript"
              removeStyleLinkTypeAttributes: true, //刪除<style>和<link>的type="text/css"
              removeComments: true, //清除HTML注釋
              minifyJS: true, //壓縮頁面JS
              minifyCSS: true, //壓縮頁面CSS
              minifyURLs: true //替換頁面URL
            };
            return gulp
              .src("./public/**/*.html")
              .pipe(gulpif(isDebug, debug({ title: "Compress HTML:" })))
              .pipe(plumber())
              .pipe(htmlclean(cleanOptions))
              .pipe(htmlmin(minOption))
              .pipe(gulp.dest("./public"));
          });
          
          // 壓縮 public/uploads 目錄內圖片
          gulp.task("compressImage", function() {
            var option = {
              optimizationLevel: 5, //類型:Number  默認:3  取值范圍:0-7(優化等級)
              progressive: true, //類型:Boolean 默認:false 無損壓縮jpg圖片
              interlaced: false, //類型:Boolean 默認:false 隔行掃描gif進行渲染
              multipass: false //類型:Boolean 默認:false 多次優化svg直到完全優化
            };
            return gulp
              .src("./public/medias/**/*.*")
              .pipe(gulpif(!isScriptAll, changed("./public/medias")))
              .pipe(gulpif(isDebug, debug({ title: "Compress Images:" })))
              .pipe(plumber())
              .pipe(imagemin(option))
              .pipe(gulp.dest("./public"));
          });
          // 執行順序: 清除public目錄 -> 產生原始博客內容 -> 執行壓縮混淆 -> 部署到服務器
          gulp.task(
            "build",
            gulp.series(
              "clean",
              "generate",
              "compressHtml",
              "compressCss",
              "compressJs",
              "compressImage",
              gulp.parallel("deploy")
            )
          );
          
          // 默認任務
          gulp.task(
            "default",
            gulp.series(
              "clean",
              "generate",
              gulp.parallel("compressHtml", "compressCss", "compressImage", "compressJs")
            )
          );
          //Gulp4最大的一個改變就是gulp.task函數現在只支持兩個參數,分別是任務名和運行任務的函數
          

          3 最后 hexo clean && hexo g && gulp && hexo d 就可以了。

          注意,很可能你會運行到第三步,也就是運行gulp壓縮命令時會報錯,如圖所示:

          那是因為gulp安裝的本地版本和hexo自帶的版本不對應導致,第三步gulp壓縮可以用下面命令強制使用本地版本:

          node ./node_modules/gulp/bin/gulp.js
          

          3. 一些注意事項


          3.1 備份博客源文件


          有時候我們想換一臺電腦繼續寫博客,最簡單的方法就是把博客整個目錄拷貝過去,就是這么暴力。不過,這種方法有個問題就是要是那天電腦崩了,本地源文件丟失了,比較麻煩,所以這時候就可以將博客目錄下的所有源文件都上傳到github上面。

          首先在github博客倉庫下新建一個分支hexo,然后git clone到本地,把.git文件夾拿出來,放在博客根目錄下。

          然后git branch -b hexo切換到hexo分支,然后git add .,然后git commit -m "xxx",最后git push origin hexo提交就行了。

          具體效果可以看我的博客源文件倉庫:傳送門。

          大家也可以先用下文hexo安裝方法安裝完hexo,然后直接git clone -b hexo
          https://github.com/shw2018/shw2018.github.io.git
          克隆我的所有源文件,這是我目前修改完的基本沒bug的定制化的博客,可以直接拿來用。

          文:http://zcfy.cc/article/1417.html

          在這篇推文中,我收集使到一些使得網頁設計師和開發人員更方便網站建設的站點。這些站點都有精心編寫的,明確的,內容充實的的文章,內容包含對CMS之如WordPress討論,Photoshop工具,CSS和HTML教程代碼,對用戶體驗的想法(UX)和用戶界面(UI)的提示、技巧、資源和贈品。 在今天的帖子中,我們將一睹55個最好的網頁設計師和開發人員博客和網站。請注意站點不以排名先后論英雄。

          1. Web Designer Depot

          Web Designer Depot是全球設計師之間的聚集地,在這里有設計師們分享為來幫助發展設計社區功能而分享的文章和教程。 站點主題包括HTML 5,CSS3,響應式設計,排版,可用性,jQuery,移動應用程序,資源,業務,自由職業者,靈感等。

          2. InstantShift

          InstandShift是一個流行于網頁設計師和開發人員的社區。有很多關于WordPress,網頁設計,CSS,工具,教程,字體,攝影等很多優秀的帖子。

          3. CSS-Tricks

          這是由Chris Coyier1人創立最初只涵蓋CSS,到現在有11人的團隊,涵蓋網頁設計和開發的各個方面網站。 他們的內容包括文章,視頻,代碼片段、教程,新聞,基本資料等。

          4. Hongkiat

          這個網站自2007建立年以來,已經為設計師,開發人員,工程師和博主提供了一系列的文章,教程,推薦的工具,提示和技巧。 他們喜歡寫關于插件,工具,桌面和移動應用程序,小工具,天才般的想法等任何令人感興趣的任何東西。

          5. Six Revisions

          該網站由Jacob Gube于2008年推出,涵蓋了設計和構建網站及應用程序的網站設計和開發的整個流程。 他們發表文章,新聞,教程,指南等等。 該網站主題涵蓋的范圍從Photoshop到自由職業者和之間的一切。

          6. Smashing Magazine

          這個網站由Vitaly Friedman和Sven Lennartz創立,為設計師和開發人員提供了一系列的文章,教程。站點主題包括設計,用戶體驗設計,代碼,WordPress,移動應用程序和設計,圖形等。內容涵蓋軟件,概念,新聞等,也包括CSS,Photoshop,電子商務,插件,網站主題等等。

          7. Vandelay Design

          這個網站的重點是提供創意,為小企業主和企業家配備開發他們的經營理念的工具。 他們站點有很多關于網頁設計,寫作,網絡開發等等的文章。 他們也有鏈接到免費資源,一個包含高級資源的商店,他們通過提供免費的WordPress主題回饋社區。

          8. TheNextWeb (Design & Dev)

          該網站自2006年成立以來一直致力于國際技術新聞,設計,商業,文化等領域的文章發布。其內容包括入門指南,代碼,UX設計,關于交易和課程的鏈接和新聞,設計活動視頻,硬件,軟件,評論,即將到來的活動,平面設計等。

          9. SpeckyBoy

          Paul Andrew在2007年10月建立了自己的自由職業者站點。現已發展為為一個網頁設計雜志站點。 它擁有大量的教程,資源,節省利用的技術,甚至鼓舞人心的藝術。 主題包括網頁設計和開發,平面設計,移動開發,廣告,設計風格和趨勢,技術新聞等。

          10. A List Apart

          這個網站是由Jeffrey Zeldman于1998年建立的。 該站點文章專注于網頁設計靈域,面向設計師,開發人員,建筑師,專家,策略家,項目經理和作家開放。 站點主題包括代碼,內容,設計,商業和工業,工具,技術,UX等。

          11. FastCo Design

          這是一本專注于商業和設計之間結合的技術雜志站點。它涵蓋了廣泛的主題,包括電子,UX,平面設計,建筑,時尚,消費產品等等。 在這里的設計師提供見解,意見,提示,新聞等等更多信息。

          12. DesignShack

          這個設計網站發布了啟發靈感的網頁設計文章、布資源和教程。他們專注于設計和收錄了網上最偉大的項目。 他們定期發布教讀者創造自己設計的新技術的文章,并分享行業的每日新聞。該站點主題包括網站,排版,商業品牌,快捷方式等等。

          13. Spoon Graphics

          這是由Chris Spooner建立的設計博客。 他分享一些貼士,資源和靈感,以幫助各階段教育水平和技能水平的設計師。內容包括教程,文章,視頻,新聞和免費資源的鏈接。主題專注于平面設計,圖形軟件,排版,模板,標志等。還有一個只供會員的下載的區域。

          14. CoDrops

          這個設計博客是由是由網頁設計師兼開發人員Manoela Ilic和Pedro Botelho共同搭建完成的。 它開建立之初是想作為實驗博客,后面成為一個熱衷于分享對網頁設計和網站開發的社區。團隊成員及其他貢獻者一起發布有關最新網絡趨勢,技術等的文章和教程。站點主題包括教程,贈品,CSS參考目錄,在線實驗區域,討論網頁設計概念的藍圖,以及包含來自社區的設計和新聞資源的集合。他們還主持有獎問答節目。

          15. TutorialZine

          本網站是由來自保加利亞瓦爾納的網站開發人員和設計師團隊建立的。該站點文章包括小貼士,教程,贈品,編輯,UI,UX,新聞和在線實驗。文章內容涵蓋很多代碼開發,包括HTML5,CSS3,jQuery,JavaScript和PHP。他們甚至有一個免費的jQuery電子書。

          16. HackingUI

          這是一個由Sagi Shrieber和David Tintner創立的在線雜志,主要是針對互動設計和前端開發。 它涵蓋設計,代碼,贈品,靈感,生產力,素描等各個領域。他們有許多教程和文章,包括Photoshop,CSS,JavaScript,商業,個人生活,免費圖標鏈接,模板,贈品,有趣的網站,評論等等。

          17. Web Design Weekly

          這是由由Jake Bresnehan創建和維護一個周刊雜志和博客網站。雜志包括標題,文章,工具,資源,靈感,工作等。雜志和博客都包括關于編程代碼(CSS,HTML等)等文章教程。大多數內容在收錄在電子雜志中,并通過電子郵件推送給用戶這里非常注重代碼。

          18. David Walsh

          這是JavaScript和HTML5專家David Walsh的博客。 它包含大量的文章和教程,主要側重于前端技術。站點主題包括代碼(CSS,HTML,AJAX,JavaScript等),開發軟件,資源鏈接,網站主題,設計概念,演示,移動端,瀏覽器等。

          19. Naldz Graphics

          這是由Ronald Bien于2008年創建的設計博客。它展示了設計社區里的教程,贈品,靈感,資源等。站點內容包括文章,教程,贈品和WordPress主題。 它有很多的鏈接到良好的設計示例,免費圖標,PSD模板,宣傳冊設計,標志設計等等。

          20. Design Beep

          這個博客包含了許多關于設計和開發的主題。主要包括文章,教程,工具,資源,贈品和靈感等幾大塊。 涵蓋了圖形,標志,排版,網頁設計,Photoshop,WordPress主題和插件,CSS,Illustrator,jQuery等等。 它有很多貼士,下載鏈接,評論,收藏等。還有一些提示最佳實踐的貼士和廣泛適用的主題。

          21. PixelHint

          這里是一個專門發布Web UI設計教程網頁設計博客。他們還分享免費的供網頁設計師和開發人員下載的網站模板和網絡資源。 他們討論網頁設計最新趨勢和技術方法,以及創建網站UI的最好的方法和技巧。 該博客包含大量的教程和免費資源鏈接,發展概念和代碼教程。 免費資源包括圖標和PSD模板。

          22. PixelBuddha

          這個網站是尼克弗羅斯特和格雷格拉賓。站點內容包含用于Web開發人員的免費且專業的資源。 大多數資源是圖形。 資源包括動畫,照片,字體,效果,HTML,圖標,模板等。站點文章還會討論如何獲取資源。部分高級資源還會有一個免費版本。

          23. GraphicBurger

          這個網站的從Raul Taciu的Cluj-Napoca,羅馬尼亞和專注于高質量的設計資源是免費的。資源包括獨有的PSD文件,還有來自世界各地的免費素材。資源包括模型,UI工具包,圖標,文字效果,背景等。文章詳細討論了產品,并提供了下載鏈接。

          24. Queness

          這是一個專門用于網頁設計和開發的博客,其中包含大量教程和代碼片段。該站點類別包括技術,教程,網頁設計,網站開發,WordPress,JavaScript,移動開發,排版等等。 文章包括新聞,免費資源,資源鏈接,主題合集等等。

          25. Inspirationfeed

          該站點由Igor Ovsyannykov管理,提供有關設計,商業,創辦企業的精神,WordPress,圖形,交易和職場自我成長的信息。文章包括教程,靈感,博客,免費資源,新聞,主題,紋理,壁紙,SEO,社交媒體,標志,字體等等。 還有視頻教程和免費資源的鏈接。

          26. DesignWoop

          這個博客提供了許多文章給設計師和開發人員。站點主題包括工具,贈品,設計理念,靈感,面試,WordPress,主題,插件,方法小貼士,教程等。文章廣泛的包含了教程、集合和鏈接等領域。鏈接包括CSS動畫片段,WordPress主題,圖標,排版,優秀的網站設計案例,線框圖工具等等。站點的教程包括Photoshop,CSS,Sketch等等。

          27. CSSReflex

          這個網站由來自巴林的Naeem Noor創建并維護,專門面向于網絡開發人員、設計師和編程人員。站點提供了很多工具,資源,代碼片段和提示。內容包括博客,CSS生成器,CSS濾鏡效果,CSS演示,響應式計算器和視頻。它討論許多方面如博客,服務器,UI設計,WYSIWYG生成器,圖標,架構,模板,開發人員的瀏覽器擴展,資源鏈接等等。

          28. Viget Inspire

          這個博客來的誕生是來自一個更大的項目,是由布萊恩·威廉姆斯,安迪·蘭金和Wynne“流行”威廉姆斯于1999年成立。博客涵蓋了設計和各種動效。站點主題包括UX,顏色,可訪問性,新聞,事件,實驗,實驗,品牌管理,APP,游戲,插圖,教程等等。

          29. WinningWP

          這是一個曾獲獎的博客,由來自倫敦的布林威爾遜建立并運營,專注于WordPress相關的技術和資源,給任何對WordPress感興趣的人提供有用的提示。站點的內容由來自世界各地的網頁設計師,程序員和專業創意者提供。站點主題包括網站主題,插件,代碼托管,SEO,安全性,性能,教程,提示,博客,系統組件,設計,營銷,社交媒體,新聞,周邊趣事等等。 盡管建立網站的初衷是專注于WordPress但也包含其他CMS。

          30. Designrfix

          這個網站致力于提供一個平臺給所有志同道合的設計師一起交流技術和分享靈感。它包括靈感,教程,贈品,資源,平面設計,網頁設計和商業活動。 主題包括移動平臺,內容管理系統,CSS,jQuery,WordPress主題,工具,資源,圖標,培訓視頻鏈接,插圖,UI,UX,編碼,Photoshop等等。

          31. Creative Overflow

          這是Jacques van Heerden建立的在線設計雜志。該網站是通過發布文章,建議,教程,資源和靈感以達到激發藝術家變得更好的目的。站點內容包括許多熱門主題和目錄,如收藏,免費資源,新聞,訪談,WordPress,新聞,贈品等。文章包括有關品牌,WordPress主題,商業發展,電子商務,徽標,營銷的信息,甚至為您提供創意商業提供建議如何選擇打印機。

          32. One Xtra Pixel

          這是一個為新加坡設計師和網站開發人員而設立的在線雜志。站點提供了許多資源,文章,教程和鏈接。主題包括設計,圖形,WordPress,CSS,社交媒體,開發,免費資源,工具包,事件等。提供了一步一步的教程包括有關編寫代碼,在Photoshop中修改圖像。甚至有一個連環圖專們針對設計和Web開發的,偶爾也有其他主題的漫畫。

          33. Noupe

          這是由來自德國的Commindo Media GmbH&Co. KG建立的博客。站點的內容專門為Web開發人員和設計師而編寫的。站點主題包括網頁設計,排版,圖形,CSS,JavaScript,Ajax,廣告,市場營銷,WordPress,電子商務,自由職業者,靈感等等。 文章包括設計教程,編寫代碼,使用圖形程序,SEO,免費資源,卡通,主題,插件,提示,技巧等等。

          34. InstantShift

          這是一個為網頁設計師和開發人員設計和提供靈感的博客。它每天都有資源推薦,內容包括靈感,文章,教程,贈品,網頁設計,WordPress,字體,CSS,圖標,攝影,Photoshop,JavaScript,Illustrator,平面設計,信息圖表,案例,logo,新聞和更多。

          35. WPKUBE

          這個網站是由Devesh Sharma創立的。它主要集中在WordPress,包括學習指南、教程方法、插件、新聞、評論、提示和技巧、插件、主題,評論、安全、SEO、初學者指南和代碼等。 它包括許多資源的鏈接,例如工具,代碼托管和優惠券。站點文章是由WordPress專業人員寫的,內容廣泛,面向各個級別的從業人士。

          36. Fresh Web Dev

          這個網站涵蓋網頁設計和開發,重點是WordPress,Javascript,CSS,PHP,設計,HTML5和其他各個方面。站點它包括WordPress,Photoshop,編寫代碼,Linux服務器開發和配置,字體,圖形等產品的文章和教程。他們還提供交易和免費資源的鏈接。內容由專業的設計師和開發人員為其群體所寫。

          37. DesignM.ag

          這是一個基于社區的網站,包括博客,設計圖庫,用戶提交的新聞和招聘專區。博客包括工具,圖標,主題,代碼片段,字體,圖形等資源。教程包括Photoshop,網頁設計等。站點主題還包括采訪,靈感,WordPress,設計師案例,免費資源,排版,UI等。該站點涵蓋了所有的網頁設計的方方面面。

          38. Creative Market Blog

          這個博客有很多關于網頁設計和前端開發的教程。它包括許多文章和貼士,如字體設計和優化排版,使用Photoshop的小貼士,推薦書籍的列表,解決常見的設計問題的方法論,使用負空間,WordPress,PHP,HTML,CSS,靈感等。目標受眾是從初級到高級的網站開發人員和設計師。

          39. SitePoint

          這個博客由Mark Harbottle和Matt Mickiewicz創立。站點提供新穎的想法,概念和新技術等內容,還包括文章、課程、教程、書籍或任何與設計和構建網站相關的內容。網站用戶討論代碼(HTML,CSS,PHP,JavaScript和Ruby),移動開發,WordPress,設計,UX,商業運營,以及任何與網絡技術相關的內容。

          40. Web Design Ledger

          這是一個涵蓋網頁設計和開發且同時提供了大量的資源的博客。站點主題包括網頁設計、靈感、UI、圖形、訪談、網絡開發、評論和內容管理系統。文章包含免費資源鏈接,時事新聞,APP教程,工具,字體,圖標,矢量圖形,WordPress,Drupel,Ghost,編碼,電子商務,移動開發,可穿戴設備,排版設計等信息的鏈接。

          41. envato tuts+

          這是一個有很多文章的錢打U呢和設計的教程網站。站點類別包括Photoshop,Illustrator,矢量,插圖,工具和提示,靈感,新聞,設計,文本效果,CSS,HTML,UX,UI,工作流,設計理論等等。文章針對的是初級階段,內容十分廣泛。還有一些可供訂閱的課程。

          42. HappyCog’s Cognition Blog

          這個博客來自Happy Cog的創始人Jeffrey Zeldman建立的,主要關注設計,經驗體會和代碼。站點主題包括流程,設計,前端開發,團隊,項目管理,社區,職業,戰略,公司和客戶關系。文章包括案例研究,教程,方法提示,商業運營和客戶關系處理,排版,編碼,Photoshop等等。大多數文章是是精心編寫和詳細的理論研究成果。

          43. WebAppers

          這是一個專門為Web開發人員和設計人員分享開源資源的博客。對于設計師,站點有免費的圖標,字體,表,股票照片,畫筆和設計靈感。對于開發人員,有很多JavaScript和Ajax組件,如插件,菜單,工具提示,圖表,輪轉圖,日歷,模態窗等。它還涵蓋代碼托管,電子商務,社交媒體,工具,安全,統計等等更多。該站點的文章詳細和前沿。

          44. Web Field Manual

          此博客提供了一個用于UX和UI設計的資源列表。該站點是由網頁設計師策劃和維護,包含了大量的網頁設計文章和資源。主題設計包括人們趨勢,靈感,規范的和不規范的風格指南,工作進程,工作流,工具箱,優秀的和拙劣的網格和排版,動畫制作的最佳與最壞方式,設計準則的最佳與最壞遵守,和可訪問性的最佳與最壞標準。每個類別都有詳細的資源列表。站點主題包括編碼入門,最佳實踐,靈感,參考,流行趨勢,性能,CSS/SASS,SVG,JavaScript,工作流,工具箱和各種庫。

          45. UXPin Blog

          UXPin是供網頁設計師使用的產品設計平臺。他們的博客側重于各方面的各種平臺的用戶體驗。它包含大量關于用戶體驗設計,移動端,設計趨勢,最佳實踐,設計小貼士,交互設計,UI設計,網頁設計,元素和模式,過程,UXPin,線框,平面設計,團隊協作,可用性,原型,草圖,樣機,Photoshop等等。該站點的文章都非常實用和詳細。

          46. Good UI

          這是一個致力于制作最好的網站布局,以改善用戶界面的網站和博客。網站介紹最佳實踐,布局,如何合并功能以達到更簡潔的設計。大力推薦使用社交途徑,來無論何處可以何處響應行動呼吁,來如何使可點擊和可選擇的不同樣式表,來如何推薦一個選擇來幫助用戶決策,也提供了允許用戶取消錯誤行為的決策,來具體證明明最佳的受眾是誰,來顯示更強的對比,使用更少的字段,合理顯示所有選項等等。站點的信息都很簡短,簡單,易于理解。

          47. Spyre Studios

          這是一個包含很多文章和教程的網頁設計和開發電子雜志。站點目錄包括設計,展示,非同尋常的靈感,教程,CSS,資源,工具,UX,移動端,免費資源,可用性,商業,排版,Illustrator,Photoshop,極簡主義,工具等。還有很多免費下載的元素,圖標,字體,PSD模板等。文章的大小合適閱讀,包含和很多的分步細節。

          48. Skyje

          這個博客成立于2008年,是一個面向網頁設計師和網頁開發人員的網站。主題包括社交網絡,新聞和與Web 2.0相關的一切。站點主題包括設計,WordPress,社交媒體,SEO,標志,靈感,教程,免費資源,字體,圖標,Photoshop,模板等。教程主要覆蓋圖形以及重點關注Photoshop。還包括插件、代碼(JavaScript和CSS)和Illustrator。

          49. MonsterPost

          這是世界優秀網頁模板站點Template Monster的設計博客。站點主題包括新聞,文章,工具,贈品,靈感,信息圖表,WordPress和Joomla。 教程包括文章和視頻,并重點關注WordPress,排版,CSS,HTML,jQuery,Photoshop,Illustrator,網絡技術,Web開發方法論,以及設計網站和UI元素。

          50. UX Matters

          這本網絡雜志由Pabini Gabriel-Petit于2005年創立,為UX開發人員提供視野和靈感。它提供了許多有價值的建議,最佳實踐,主題觀點,以及探索UX設計的戰略方面的深層思考的文章。主題包括網頁設計,移動端,用戶研究,視覺設計,web應用程序設計,設計流程,訪談,評論,內容創建,通信設計,架構,商業,戰略等等。

          51. Usability Geek

          這個博客開始由Justin Mifsud在2011年建立的,出發點是作為一個提升網站可用性的重要性的興趣交流網站。Justin想提高網頁設計師和開發人員在商業和政治網站可用性設計的意識。站點主題包括可用性,指南,測試,用戶體驗(UX),商業運營,轉換,人機交互(HCI),術語,評論,資源和信息架構(IA)。

          52. Boxes and Arrows

          這是一本2001年開始的同行寫的雜志,討論所有關于設計的東西。站點主題包括交互設計,信息架構,平面設計,甚至商業服務設計。 站點目錄包括設計原則,發現,研究和測試,過程和方法,界面,可交付成果和文檔,書評,會議和活動,軟件和工具,以及工作場所和職業。

          53. Web Design Dev

          這個網站專注于網頁設計包含所有東西。站點主題包括贈品,網站模板,WordPress主題,Photoshop,Dreamweaver教程,Illustrator,評論,靈感,網站開發,CSS,HTML,合集,編程,網上兼職,訪談和SEO。該站點涵蓋了從移動界面設計到開發電子商務網站開發之間的方方面面。

          54. Impressive Webs

          這是Louis Lazaris的個人博客,作者是一個自由的網絡開發人員,雜志站點SitePoint的HTML/CSS內容的管理編輯,和兩本關于HTML/CSS的書的作者。博客內容大多是關于HTML、CSS和JavaScript的文章。Louis在他的博客討論相關的概念,原則和bug。博客也它包括許多文章、教程,CSS基礎,屏幕錄像,新聞,評論等等。這個博客站點強調的代碼和設計的結合。

          55. Design Bombs

          最初作為一個網頁設計展示畫廊,現已成為分享網頁設計的想法,文章,教程和資源,以幫助網頁設計師提升他們技藝的平臺。站點內容包括WordPress主題和插件,網站設計的綜述,贈品,獨家優惠等等。網頁設計師可以這里找到很多高品質的資源。

          言盡于此,學習之路不止。 Have a nice day!


          主站蜘蛛池模板: 亚洲.国产.欧美一区二区三区| 精品爆乳一区二区三区无码av| 久久久久人妻一区精品性色av| 无码AV动漫精品一区二区免费| 国产精品视频免费一区二区| 精品人伦一区二区三区潘金莲| 国产免费一区二区视频| 人妻体内射精一区二区| 一区二区在线免费视频| 国产精品毛片一区二区| 国产精品无圣光一区二区| 精品少妇一区二区三区视频| 久久久精品人妻一区二区三区| 亚洲一区二区三区在线| 99精品一区二区三区无码吞精| 午夜性色一区二区三区不卡视频| 国产成人av一区二区三区在线观看| 日本人真淫视频一区二区三区 | 久久人妻av一区二区软件| 国产精品毛片一区二区三区| 亚洲A∨无码一区二区三区 | 婷婷亚洲综合一区二区| 日韩精品一区二区三区影院| 国产成人无码一区二区在线播放| 亚洲一区二区三区高清视频| 日韩精品一区二区三区中文版| 亚洲一区二区精品视频| 日韩精品无码一区二区三区| 无码国产精品一区二区免费式芒果| 亚洲熟女www一区二区三区| 高清一区二区三区视频| 精品无人区一区二区三区在线| 日韩毛片一区视频免费| 亚洲一区二区三区免费观看| 国产亚洲情侣一区二区无码AV| 蜜臀AV无码一区二区三区| 久久久91精品国产一区二区| 国产韩国精品一区二区三区| 日韩视频在线一区| 69福利视频一区二区| 伊人精品视频一区二区三区|