自定義頁面樣式(一)

2018-05-25 14:18 更新

2017年最新基于hexo搭建個人免費博客——自定義頁面樣式

前言

本篇文章繼續(xù)講解一些hexo下next主題博客樣式的修改。主要內(nèi)容為修改首頁文章摘要樣式,文章詳情樣式,以及文章閱讀次數(shù)的統(tǒng)計深入講解,酷炫的博客背景,在首頁菜單里添加的獨立的標(biāo)簽頁,文章結(jié)尾的模版樣式修改。暫時想到了這么多,歡迎大家提出新的東西,等后面有空了再講新東西。

首頁文章摘要樣式修改

準備

假設(shè)看這篇文章的人是沒有前端樣式調(diào)試基礎(chǔ)的,建議去看我上一篇文章——,看完后再繼續(xù)看這篇。

傳送門:2017年最新基于hexo搭建個人免費博客——自定義頁面樣式一 http://www.cduyzh.com/hexo-settings-3/

查看對應(yīng)樣式

查看對應(yīng)樣式 通過瀏覽器的開發(fā)者工具可以查看到首頁文章摘要對應(yīng)的CSS 可以看到header標(biāo)簽內(nèi)為文章的頭部的樣式,大家可以進行一些修改,但是基本沒什么需要改動的,大家可以自己DIY,

給文章首頁摘要添加陰影效果

查看對應(yīng)樣式 大家看下箭頭,修改對應(yīng)的CSS樣式,進行重寫覆蓋,修改的文件路徑如下(以我自己的為例):

  1. D:\hexo\blog\themes\next\source\css\_custom\custom.styl

修改代碼如下

  1. // Custom styles.
  2. //首頁文章陰影樣式
  3. .post {
  4. margin-top: 60px;
  5. margin-bottom: 60px;
  6. padding: 25px;
  7. -webkit-box-shadow: 0 0 14px rgba(202, 203, 203, .5);
  8. -moz-box-shadow: 0 0 14px rgba(202, 203, 204, .5);
  9. }

閱讀文章按鈕樣式修改

閱讀文章按鈕樣式修改 主要為三個CSS樣式的修改

  1. .post-button .btn
  2. .post-button .btn a
  3. .btn:hover, .post-button .btn:hover

閱讀文章按鈕樣式修改

最后一個為偽類,有時候查找元素的時候不能第一時間看到,多抓取幾次。

也可以自己在本地編輯器測試修改.btn:hover, .post-button .btn:hover樣式下的屬性,測試顯示效果就行。 默認主題下把鼠標(biāo)移入按鈕時的樣式中,按鈕下方有個陰影,是主題自帶的,如果不想要可以添加對應(yīng)的CSS樣式 border:none來取消這效果,然后調(diào)整一下圓角值,居中設(shè)置,還有顏色的變化,大家自己參考下我之前發(fā)的樣式表,或自己測試。

文章詳情樣式修改

文章詳情頭部樣式

這個樣式的修改和前面首頁那個的樣式基本一致,所以此處跳過,但是說一點 文章詳情頭部樣式 圖中框內(nèi)的圖標(biāo)元素更改CSS樣式是無法更改的,我更改了字數(shù)統(tǒng)計和閱讀市場的ICON,具體做法大家可以看我以前寫過的一篇文章,要在源碼中更改CSS的值。

2017年最新基于hexo搭建個人免費博客——基本設(shè)置和了解http://www.cduyzh.com/hexo-settings-2/

文章相應(yīng)底部樣式修改

文章相應(yīng)底部樣式修改 最大的紅框部分的內(nèi)容都不是我編輯的文章里的,都是我更改了源代碼加入的DIV樣式標(biāo)簽形成的效果,當(dāng)然還可以在每一篇文章最后加入對應(yīng)的代碼也可以,但是為了麻煩每次來粘貼所以我就沒去這樣做

思路

修改文章模板文件 哪個是文章主要內(nèi)容的模板文件,對應(yīng)的路徑themes\next\layout\_macro\post.swig 文章底部的代碼位置如下:

  1. {{ content.substring(0, theme.auto_excerpt.length) }}
  2. {% if content.length > theme.auto_excerpt.length %}...{% endif %}
  3. <div class="post-more-link text-center">
  4. <a class="btn" href="{{ url_for(post.path) }}{% if theme.scroll_to_more %}#more{% endif %}" rel="contents">
  5. {{ __('post.read_more') }} »
  6. </a>
  7. </div>
  8. {% else %}
  9. {% if post.type === 'picture' %}
  10. <a href="{{ url_for(post.path) }}">{{ post.content }}</a>
  11. {% else %}
  12. {{ post.content }}
  13. {% endif %}
  14. {% endif %}
  15. {% else %}
  16. {{ post.content }}
  17. ### 編輯區(qū)域
  18. {% endif %}

那個打賞功能是主題自帶的一個參數(shù)配置,大家可以去next主題官方文檔上看。

文章底部的橫線樣式修改

文章底部的橫線樣式修改 小紅框里面的一條線,有些人覺得想換樣式,換顏色或直接去掉。 直接在.post-nav下加入一個樣式

  1. .post-nav {
  2. border: none;
  3. }

文章閱讀次數(shù)的統(tǒng)計深入講解

對比分析方法

文章詳情頭部樣式

再次用下這張圖,我這里面的閱讀次數(shù)是通過leanCloud,來實現(xiàn)文章閱讀量統(tǒng)計的,next主題還自帶了一個不蒜子的統(tǒng)計參數(shù)配置,相信大家用過了,在主題的配置文件里有如下代碼:

  1. ## Show PV/UV of the website/page with busuanzi.
  2. ## Get more information on http://ibruce.info/2015/04/04/busuanzi/
  3. busuanzi_count:
  4. # count values only if the other configs are false
  5. enable: true
  6. # custom uv span for the whole site
  7. site_uv: true
  8. site_uv_header: <i class="fa fa-user"></i> 訪問用戶:
  9. site_uv_footer:
  10. # custom pv span for the whole site
  11. site_pv: true
  12. site_pv_header: <i class="fa fa-eye"></i> 訪問次數(shù):
  13. site_pv_footer:
  14. # custom pv span for one page only
  15. page_pv: false
  16. page_pv_header: <i class="fa fa-file-o"></i> 點擊量
  17. page_pv_footer:

我設(shè)置page_pv為false因為我打算用leanCloud來實現(xiàn),因為用不蒜子這個來統(tǒng)計是沒問題,但是它說了 # custom pv span for one page only意思是只顯示在文章相應(yīng)這里,你在首頁是看不到閱讀次數(shù)統(tǒng)計的,對用戶體驗來說十分不好,所以打算用leanCloud,如果覺得首頁不展示閱讀次數(shù)什么的無所謂的,就可以用next主題的不蒜子插件,具體的查看官方文檔上面有寫方法。

這里講下官方文檔上沒有詳細說明的leanCloud,來實現(xiàn)文章閱讀量統(tǒng)計的方法

leanCloud來實現(xiàn)閱讀統(tǒng)計

我現(xiàn)在版本的next主題是集成了這個插件的,并且給出了對應(yīng)的參數(shù)配置

  1. ## Show number of visitors to each article.
  2. ## You can visit https://leancloud.cn get AppID and AppKey.
  3. leancloud_visitors:
  4. enable: true
  5. app_id: TxBSdzFliqxOpec29xEd8pO5-gzGzoHsz
  6. app_key: 5rH911Nhs9V7AWFjEYqe8Bz7

過程是:
1.注冊leancloud賬戶并完成驗證后登錄leanCloud的,創(chuàng)建應(yīng)用并配置相關(guān)操作
2.獲取對應(yīng)的AppID和AppKey
3.配置相應(yīng)參數(shù)完成閱讀文章的數(shù)量的統(tǒng)計

注冊賬戶

過程省略...沒啥好說的

創(chuàng)建一個應(yīng)用

leanCloud來實現(xiàn)閱讀統(tǒng)計

進入應(yīng)用創(chuàng)建Class

leanCloud來實現(xiàn)閱讀統(tǒng)計 我之前已經(jīng)創(chuàng)建好了一個Class名為Counter,創(chuàng)建成功就會出來了。

獲取AppID和AppKey

leanCloud來實現(xiàn)閱讀統(tǒng)計

設(shè)置主題配置文件

設(shè)置主題配置文件_config.yml相關(guān)字段,實現(xiàn)閱讀數(shù)量的統(tǒng)計 添加以下字段

  1. leancloud_visitors:
  2. enable: true
  3. app_id: #你的App ID
  4. app_key: #你的的App Key

完成配置并重新編譯。

通過在本地服務(wù)器測試是看不到閱讀次數(shù)的統(tǒng)計的,所以要發(fā)布到網(wǎng)上查看才行。

酷炫的博客背景

添加背景特效

背景的幾何線條是采用的nest效果,一個基于html5
canvas繪制的網(wǎng)頁背景效果,非常贊!來自github的開源項目canvas-nest 特性

  1. 不依賴任何框架或者內(nèi)庫,比如不依賴jQuery,使用原生的javascript。
  2. 非常小,只有1.66kb,如果開啟gzip,可以更小。
  3. 非常容易實現(xiàn),配置簡單,即使你不是web開發(fā)者,也能簡單搞定。

使用非常簡單

color: 線條顏色, 默認: ‘0,0,0’ ;三個數(shù)字分別為(R,G,B),注意用,分割 opacity: 線條透明度(0~1), 默認: 0.5 count: 線條的總數(shù)量, 默認: 150 zIndex: 背景的z-index屬性,css屬性用于控制所在層的位置, 默認: -1

添加修改代碼

next/layout/_layout.swig,在body標(biāo)簽之前添加如下代碼:

  1. {% if theme.canvas_nest %}
  2. <script type="text/javascript" src="http://cdn.bootcss.com/canvas-nest.js/1.0.0/canvas-nest.min.js" rel="external nofollow" ></script>
  3. {% endif %}

打開next/_config.yml,添加以下代碼:

  1. ## Canvas-nest
  2. canvas_nest: true

如果是最新的next主題是集成了這段代碼的,如果沒手動添加,有就設(shè)置為true
### 完成
重新編譯配置后,在本地測試就能看到效果了。

在首頁菜單里添加的獨立的標(biāo)簽頁

標(biāo)題的意思大概是文章列表實現(xiàn) 效果如圖: 文章列表實現(xiàn)

實現(xiàn)過程思想

1、修改HEXO POST模板,添加categories。以后的文章將會以此作為模板新增。
2、新增一文章,并修改分類屬性。分類屬性如果被設(shè)置,在HEXO編譯會生成對應(yīng)分類目錄
3、修改主題配置文件(config.yml),添加MENU分類字段 ,導(dǎo)航欄顯示分類鏈接
4、假定為中文網(wǎng)站,修改主題目錄下的語言配置文件(zh-Hans.yml) .導(dǎo)航欄鏈接顯示中文

修改HEXO POST模板

添加categories 在你的HEXO根目錄下,找到文件夾scaffolds,此文件夾下定義創(chuàng)建文章的基本模型,你可以修改此模板 實現(xiàn)每次進行HEXO NEW 文章名,文章會以您的模板進行對應(yīng)配置屬性創(chuàng)建。這里我們主要是新增categories 字段,讓每次新增文章都會打上此屬性字段。 scaffolds里有三個文件分別對應(yīng)草稿、頁面、文章,建議都加上如下代碼:

  1. ---
  2. title: {{ title }}
  3. date: {{ date }}
  4. tags:
  5. categories:
  6. ---

新增一文章,并修改分類屬性 新建文章后如: hexo new 你的文章名,并打開您的文章,在categories寫上你的分類名字, 此操作后并保存文檔,在你進行hexo g編譯的時候會在你的PUBLIC目錄下的 categories下建立以你分類名字命名的 文件夾, 以后的鏈接將定向到此文件夾。(本文的測試分類名為:life 中文名生活)

修改主題配置文件添加MENU分類字段

修改代碼大概如下,參考下就行了。

  1. menu:
  2. home: /
  3. categories: /categories
  4. about: /about
  5. archives: /archives
  6. tags: /tags
  7. #commonweal: /404.html
  8. #sitemap: /sitemap.xml
  9. life: /categories/life
  10. technology: /categories/technology

修改主題目錄下的語言配置文件

路徑為themes\next\languages 文件為zh-Hans.yml 修改代碼如下

  1. menu:
  2. home: 首頁
  3. archives: 歸檔
  4. categories: 分類
  5. tags: 標(biāo)簽
  6. about: 關(guān)于
  7. search: 搜索
  8. schedule: 日程表
  9. sitemap: 站點地圖
  10. commonweal: 公益404
  11. life: 生活
  12. technology: 技術(shù)

完成

重新編譯預(yù)覽下效果。

總結(jié)

這篇寫了不少小技巧,都是平時總結(jié)的,當(dāng)然還有一些沒講到的點,如果有疑問的可以在下面評論說,我會在后面的文章提及。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號