About A Blog

About A Blog

免费

更新时间:2021-12-09

所属分类:PHP源码

评论回复:0

 

博客的搭建 <img />技术小贴 环境安装 安装git 安装node.js 安装hexo ​ npm install -g hexo-cli 测试是否成功安装 $ hexo -v hexo: 3.4.2 生成博客雏形 cd进入一个博客的目录,如D:My Blog 初始化博客 ​ hexo init hexo**将这个文件夹初始化成一个博客专用文件夹,生成过程稍微要点时间,耐心等待。 生成静态页面 ​ hexo g 生成结束后,**多出一个public的文件夹,这个文件夹就是hexo生成的一个完整的静态网站,也就是我们的博客 开启服务器 ​ hexo s 然后打开浏览器,输入 localhost:4000就可以浏览我们的博客了。 部署到Github 使用远程部署需要先安装hexo-deployer-git 运行命令: npm install hexo-deployer-git --save 修改_config.yml: deploy: type: git repo: https://github.com/shavchen/shavchen.github.io.git branch: master 部署到github仓库 ​ hexo d 这时访问shavchen.github.io就可以看到刚才的博客雏形了! 使用catcus主题 Clone主题文件 ​ https://github.com/probberechts/hexo-theme-cactus.git 修改博客配置文件 ​ theme: cactus 本地浏览 hexo g hexo s 访问127.0.0.1:4000 博客的优化 添加版权 安装插件: npm install hexo-addlink --save 在博客配置文件中添加如下内容: # 版权 addlink: before_text: __本文作者__:shavchen<br />__本文地址__: after_text: <br />__版权声明__:本博客所有文章除特别声明外,均采用 [CC BY-NC-SA 3.0 CN](http://creativecommons.org/licenses/by-nc-sa/3.0/cn/) 许可协议。转载请注明出处! 去掉导航 nav: Home: / About: /about/ Writing: /archives/ Categories: /categories/ 去掉脚注 修改themescactuslayout_partialfooter,ejs <footer > <div > <%= __('footer.copyright') %> &copy; <%= new Date().getFullYear() %> <%= config.author || config.title %> </div> </footer> 这样在blog底部就没有导航栏信息了 自动生成目录 修改博客配置文件 category_dir: categories 修改主题配置文件 Categories: /categories/ 生成categories目录 hexo page categories 这是**在source目录下生成categories文件夹,并且里面存在index.md 修改categories目录下的index.md --- title: categories date: 2019-07-16 11:14:55 type: "categories" comment: false --- 修改scaffolds模板 将post.md修改为: --- title: {{ title }} date: {{ date }} tags: categories: author: --- 新建文章测试 hexo n post “test” 去source/_posts文件夹修改test.md,如: tags: - security experiment - zhiliaotang categories: study 部署文章 hexo g hexo s 这时在浏览器可以看到如下效果: <img /> 解除外链限制 默认情况下,hexo不支持加载外链的图**,如微博图床等 这时需要修改themescactuslayout_partialhead.ejs,在里面加入如下代码: <meta /> 修改目录样式 原样式 <img /> 定位到具体文件 <img /> 估计这应该就是layout下的footer.ejs了 最后定位到layout/_partial/action_mobile.ejs和layout/_partial/action_desktop.ejs desktop端源代码: <span ><%= __('post.desktop.previous') %></span> <span ><%= __('post.desktop.next') %></span> <span ><%= __('post.desktop.back_to_top') %></span> <span ><%= __('post.desktop.share') %></span> 修改为: <span ><%= __('上一篇') %></span> <span ><%= __('下一篇') %></span> <span ><%= __('返回顶部') %></span> <span ><%= __('分享文章') %></span> mobile端源代码: <div > <a ><i ></i> <%= __('post.mobile.menu') %></a> <a ><i ></i> <%= __('post.mobile.toc') %></a> <a ><i ></i> <%= __('post.mobile.share') %></a> <a ><i ></i> <%= __('post.mobile.back_to_top') %></a> </div> 修改为: <div > <a ><i ></i> <%= __('菜单') %></a> <a ><i ></i> <%= __('目录') %></a> <a ><i ></i> <%= __('分享') %></a> </div> 现在的样式: <img /> 文件加密访问 实现效果: 一旦你输入了正确的密码,你可以在接下来的 30 分钟内,无需密码访问该网页。 安装插件: npm install --save hexo-blog-encrypt 启用插件: 在 _config.yml 中添加如下内容: # Security ## encrypt: enable: true 在文章头部加上对应的字段,如下: --- title: hello world date: 2016-03-30 21:18:02 tags: - fdsafsdaf password: Mike abstract: Welcome to my blog, enter password to read. message: Welcome to my blog, enter password to read. --- 对TOC进行加密: 在article.ejs中添加如下内容: <% if(post.toc == true){ %> <div <% if (post.encrypt == true) { %> <% } %>> <strong >Index</strong> <% if (post.encrypt == true) { %> <%- toc(post.origin) %> <% } else { %> <%- toc(post.content) %> <% } %> </div> <% } %> <%- post.content %> 修改加密模板: # Security ## encrypt: enable: true default_abstract: the content has been encrypted, enter the password to read.</br> default_message: Please enter the password to read. default_template: <script regexp">/cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div string">"> <div string">"> <input string">" string">" string">" string">" /> <label string">">{{message}}</label> <div string">"></div> </div> </div> <div string">" string">">{{decryptionError}}</div> <div string">" string">">{{noContentError}}</div> <div string">" string">"> {{content}} </div> default_abstract : 这个是指在文章列表页,我们看到的加密文章描述。当然这是对所有加密文章生效的。 default_message : 这个在文章详情页的密码输入框上方的描述性文字。 default_template : 这个是指在文章详情页,我们看到的输入密码阅读的模板,同理,这个也是针对所有文章的 配置Disqus评论 catcus主题默认支持Disqus评论系统,去官网注册,获取shortname,之后修改主题配置文件中的shortname即可。 只不过Disqus需要科学上网才能正常使用! 配置Valine评论 1) 官网注册,并获取appId和appKey 2) 修改layout_partialcomment.ejs <% if(page.comments && theme.disqus.enabled){ %> <div class="blog-post-comments"> <div id="disqus_thread"> <noscript><%= __('comments.no_js') %></noscript> </div> </div> <% } %> <% if(page.comments && theme.plugins.disqus_shortname){ %> <!-- <div id="ad-box"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins ></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> --> <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script> <script src='//unpkg.com/valine/dist/Valine.min.js'></script> <div class="blog-post-comments"></div> <script> new Valine({ el: '.blog-post-comments', app_id: 'DgMf1NChRFNzPlOrKd3gpBPk-gzGzoHsz', //修改为自己的Id app_key: 'rFtTafou49X7djrYTj4AN96G', //修改为自己的Id placeholder: '说点什么?', // 留言框占位提示文字 avatar:'retro', notify:true, verify:true }); </script> <% } %> 3)修改主题配置文件 plugins: disqus_shortname: cactus-shavchen # Disqus Comments Shortname # Valine comment system. https://valine.js.org valine: enable: true visitor: false appId: DgMf1NChRFNzPlOrKd3gpBPk-gzGzoHsz # your leancloud appId appKey: rFtTafou49X7djrYTj4AN96G # your leancloud appKey notify: false # Mail notify verify: false # Verify code avatar: mm # Gravatar style : mm/identicon/monsterid/wavatar/retro/hide placeholder: Just go go # Comment Box placeholder guest_info: nick,mail,link # Comment header info pageSize: 10 # comment list page size 配置百度流量统计 登录 百度统计,定位到站点的代码获取页面 复制 hm.js? 后面那串统计脚本 id,如下图所示: <img /> 编辑主题配置文件, 修改字段 baidu_analytics,值设置成你的百度统计脚本 id。 配置不蒜子访客统计 1)修改layout_partialscripts.ejs //在末尾添加 <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> 2)修改layoutpost.ejs <article class="post" itemscope itemtype="http://schema.org/BlogPosting"> <header> <%- partial('_partial/post/title', { post: page, index: false, class_name: 'posttitle' }) %> <div class="meta"> <span class="author" itemprop="author" itemscope itemtype="http://schema.org/Person"> <span itemprop="name"><% if (page.author) { %><%- page.author %><% } else { %><%- config.title %><% } %></span> </span>| <%- partial('_partial/post/date', { post: page, class_name: 'postdate' }) %> <div > <i ></i> <script async ></script> <span > <span >0</span> </span> </span> </div> <%- partial('_partial/post/category') %> <%- partial('_partial/post/tag') %> </div> </header> <%- partial('_partial/post/gallery') %> <div > <%- page.content %> </div> </article> <%- partial('_partial/comments') %> 3) 修改layoutindex.ejs <section id="about"> <% if (config.description) { %> <%- markdown(config.description) %> <% } %> <p style="display: inline"> <span> <i class="fas fa-eye"></i> <!-- PV: --> <span id="busuanzi_container_site_pv" style="display: inline;"> <span id="busuanzi_value_site_pv">0</span> </span>| <% if (theme.social_links) { %> ... </span> </p> </section> 原创文章,作者:小嵘源码,如若转载,请注明出处:https://www.lcpttec.com/about-a-blog/
下载地址