suchen
HeimWeb-FrontendHTML-TutorialHexo博客Jacman主题的优化增加博客打赏功能_html/css_WEB-ITnose

–本博客5月19日优化

使用Hexo这款博客框架已经很久了,期间也一直在摸索,一次次地修改代码,看效果,修改,看效果…,现在已经大致熟悉了整个框架的结构,能够自主完成对主题的修改了。

接下来可以考虑写一篇解析Hexo框架的文章,一来加深自己对框架的理解,方便后续研究,而来也为其他刚开始接触Hexo的童鞋提供一些方法,让他们能够更快地适应,熟悉这个框架。

今天偶然看到一个打赏功能,于是想在自己的博客上实现一下,虽然自觉自己的文章还有待加强,但是客官您随意啦。听说,打赏我的人最后都找到了真爱~

灵感起源于 这篇文章 ,初始采用的是这篇文章的最终版代码,后来自己进行了大量的修改,并且嵌入到了框架中。接下来,就来讲讲具体怎么做吧。

什么叫嵌入到博客中?为什么这么干?

嵌入到博客中,简单说来,就是嵌入到博客模板中,不是单纯地贴HTML代码来改变显示内容,而是将自己要显示的信息写在主题的配置文件 _config.yml 中,然后通过HTML模板在网页中显示,这样,每次想修改显示内容的时候,就不用去艰难地寻找具体的ejs文件,然后找到具体的HTML代码,然后找到具体的标签位置再去修改了,而是打开 _config.yml ,直接编辑,搞定。这样也有利于标准化,这才是一个轮子应有的功能。之前我做很多主题优化的时候,很多都是直接粘HTML代码,代码短的话无伤大雅,但是代码长的话,随着时间的推移,整个代码就没法看了,不利于维护。

要做什么?

我们要实现的目标就是只需在 themes\jacman\_config.yml 文件中添加如下语句:

donate:  enable: true  text: 打赏我的人,运气都不会太差~  wechat: http://7xsl28.com1.z0.glb.clouddn.com/wechatpay.png  alipay: http://7xsl28.com1.z0.glb.clouddn.com/alipay.jpg  web: true

即可实现如本文最下方的样式:

首先有一个按钮,如果读者不想打赏,自然不会去点它:

但是如果点击按钮的话,就转而显示如下效果:

读者用微信或者支付宝扫描二维码即可实现打赏功能。

这里也可以添加一个网页版的支付宝付款链接,这里采用的是云打赏,因为云打赏支持支付宝支付和微信支付,而微信支付还是要扫码,支付宝的话倒是可以选择网页支付和扫码支付,反正感觉稍微有点繁琐,跟外卖付款的程序一样,但是我估计读者肯定没有外卖付款那么积极的,不过既然做了,还是贴出来。将上面的web值改为false可以不显示web端付款链接,及中间那个“赏”字。

怎么做?

因为我们想要将打赏功能嵌入到每一篇博客当中,所以我们需要改动文章显示的HTML模板。 找到 themes\jacman\layout\_partial\post\article.ejs 这就是文章的HTML模板文件,在

...
的下面, 的上面插入如下HTML代码:

<% if (theme.donate) { %> <!-- css --> <style type="text/css"> .center { text-align: center; } .hidden { display: none; } .donate_bar a.btn_donate{ display: inline-block; width: 82px; height: 82px; background: url("http://7xsl28.com1.z0.glb.clouddn.com/btn_reward.gif") no-repeat; _background: url("http://7xsl28.com1.z0.glb.clouddn.com/btn_reward.gif") no-repeat; <!-- http://img.t.sinajs.cn/t5/style/images/apps_PRF/e_media/btn_reward.gif 因为本 hexo 生成的博客所用的 theme 的 a:hover 带动画效果, 为了在让打赏按钮显示效果正常 而 添加了以下几行 css, 嵌入其它博客时不一定要它们。 --> -webkit-transition: background 0s; -moz-transition: background 0s; -o-transition: background 0s; -ms-transition: background 0s; transition: background 0s; <!-- /让打赏按钮的效果显示正常 而 添加的几行 css 到此结束 --> } .donate_bar a.btn_donate:hover{ background-position: 0px -82px;} .donate_bar .donate_txt { display: block; color: #9d9d9d; font: 14px/2 "Microsoft Yahei"; } .bold{ font-weight: bold; } </style> <!-- /css --> <!-- Donate Module --> <div id="donate_module"> <!-- btn_donate & tips --> <div id="donate_board" class="donate_bar center"> <br> ------------------------------------------------------------------------------------------------------------------------------ <br> <a id="btn_donate" class="btn_donate" target="_self" href="javascript:;" title="Donate 打赏"></a> <span class="donate_txt"> <%= theme.donate.text %> </span>   </div> <!-- /btn_donate & tips --> <!-- donate guide -->  <div id="donate_guide" class="donate_bar center hidden"> <br> ------------------------------------------------------------------------------------------------------------------------------ <br> <% if(theme.donate.web) { %> <div width="100%" align="center"><div name="dashmain" id="dash-main-id-87895f" class="dash-main-3 87895f-0.99"></div></div> <script type="text/javascript" charset="utf-8" src="http://www.dashangcloud.com/static/ds.js"></script> <% } %> <a href="<%= theme.donate.wechat %>" title="用微信扫一扫哦~" class="fancybox" rel="article0"> <img  src="<%= theme.donate.wechat % alt="Hexo博客Jacman主题的优化增加博客打赏功能_html/css_WEB-ITnose" >" title="微信打赏 Donate" height="190px" width="auto"/> </a>   <a href="<%= theme.donate.alipay %>" title="用支付宝扫一扫即可~" class="fancybox" rel="article0"> <img  src="<%= theme.donate.alipay % alt="Hexo博客Jacman主题的优化增加博客打赏功能_html/css_WEB-ITnose" >" title="支付宝打赏 Donate" height="190px" width="auto"/> </a> <span class="donate_txt"> <%= theme.donate.text %> </span> </div> <!-- /donate guide --> <!-- donate script --> <script type="text/javascript"> document.getElementById('btn_donate').onclick = function() { $('#donate_board').addClass('hidden'); $('#donate_guide').removeClass('hidden'); } function donate_on_web(){ $('#donate').submit(); } var original_window_onload = window.onload; window.onload = function () { if (original_window_onload) { original_window_onload(); } document.getElementById('donate_board_wdg').className = 'hidden'; } </script> <!-- /donate script --></div><!-- /Donate Module --> <% } %>

第95行开头的那段代码可以不加。 整个逻辑就是: 判断是否需要显示打赏模块,是的话,就显示。 显示的内容有两种,按钮和二维码,首先将二维码隐藏起来,等到用户按动按钮,则将按钮隐藏起来,二维码显示出来。

这样我们的打赏功能就做好了,是不是很简单呢?你也可以试试哦。如果这篇文章对你有用,你不妨也打赏下我呢~ :)

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Die Zukunft von HTML, CSS und JavaScript: WebentwicklungstrendsDie Zukunft von HTML, CSS und JavaScript: WebentwicklungstrendsApr 19, 2025 am 12:02 AM

Die zukünftigen Trends von HTML sind Semantik und Webkomponenten, die zukünftigen Trends von CSS sind CSS-in-JS und CssShudini, und die zukünftigen Trends von JavaScript sind WebAssembly und serverlos. 1. HTML -Semantik verbessern die Zugänglichkeits- und SEO -Effekte sowie Webkomponenten die Entwicklungseffizienz, aber der Browserkompatibilität sollte die Aufmerksamkeit geschenkt werden. 2. CSS-in-JS verbessert die Flexibilität des Stilmanagements, kann jedoch die Dateigröße erhöhen. CssShudini ermöglicht den direkten Betrieb des CSS -Renderings. 3.Webassembly optimiert die Browser -Anwendungsleistung, verfügt jedoch über eine steile Lernkurve, und serverloses vereinfacht die Entwicklung, erfordert jedoch eine Optimierung von Kaltstartproblemen.

HTML: Die Struktur, CSS: Der Stil, JavaScript: Das VerhaltenHTML: Die Struktur, CSS: Der Stil, JavaScript: Das VerhaltenApr 18, 2025 am 12:09 AM

Die Rollen von HTML, CSS und JavaScript in der Webentwicklung sind: 1. HTML definiert die Webseitenstruktur, 2. CSS steuert den Webseitenstil, und 3. JavaScript fügt ein dynamisches Verhalten hinzu. Zusammen bauen sie den Rahmen, die Ästhetik und die Interaktivität moderner Websites auf.

Die Zukunft von HTML: Evolution und Trends im WebdesignDie Zukunft von HTML: Evolution und Trends im WebdesignApr 17, 2025 am 12:12 AM

Die Zukunft von HTML ist voller unendlicher Möglichkeiten. 1) Neue Funktionen und Standards umfassen mehr semantische Tags und die Beliebtheit von Webcomponenten. 2) Der Webdesign -Trend entwickelt sich weiterhin für reaktionsschnelles und zugängliches Design. 3) Die Leistungsoptimierung verbessert die Benutzererfahrung durch reaktionsschnelle Bildlade- und faulen Ladetechnologien.

HTML vs. CSS vs. JavaScript: Ein vergleichender ÜberblickHTML vs. CSS vs. JavaScript: Ein vergleichender ÜberblickApr 16, 2025 am 12:04 AM

Die Rollen von HTML, CSS und JavaScript in der Webentwicklung sind: HTML ist für die Inhaltsstruktur verantwortlich, CSS ist für den Stil verantwortlich und JavaScript ist für dynamisches Verhalten verantwortlich. 1. HTML definiert die Webseitenstruktur und den Inhalt durch Tags, um die Semantik zu gewährleisten. 2. CSS steuert den Webseitenstil über Selektoren und Attribute, um es schön und einfach zu lesen. 3. JavaScript steuert das Verhalten von Webseiten über Skripte, um dynamische und interaktive Funktionen zu erzielen.

HTML: Ist es eine Programmiersprache oder etwas anderes?HTML: Ist es eine Programmiersprache oder etwas anderes?Apr 15, 2025 am 12:13 AM

HtmlisnotaprogrammingLanguage; itiSamarkuplanguage.1) htmlstructuresandFormatswebcontentuses.2) itWorkswithCSSForstylingandjavaScriptForinteraktivität, EnhancingWebDevelopment.

HTML: Erstellen der Struktur von WebseitenHTML: Erstellen der Struktur von WebseitenApr 14, 2025 am 12:14 AM

HTML ist der Eckpfeiler der Erstellung von Webseitenstruktur. 1. HTML definiert die Inhaltsstruktur und die Semantik und Verwendung usw. Tags. 2. Stellen Sie semantische Marker wie usw. zur Verfügung, um den SEO -Effekt zu verbessern. 3. Um die Benutzerinteraktion durch Tags zu verwirklichen, achten Sie auf die Verifizierung der Form. 4. Verwenden Sie fortschrittliche Elemente wie in Kombination mit JavaScript, um dynamische Effekte zu erzielen. 5. Zu den häufigen Fehlern gehören nicht abgegebene Bezeichnungen und nicht geeignete Attributwerte, und Überprüfungstools sind erforderlich. 6. Optimierungsstrategien umfassen das Reduzieren von HTTP -Anforderungen, die Komprimierung von HTML, die Verwendung semantischer Tags usw.

Von Text zu Websites: Die Kraft von HTMLVon Text zu Websites: Die Kraft von HTMLApr 13, 2025 am 12:07 AM

HTML ist eine Sprache, mit der Webseiten erstellt, die Webseitenstruktur und -inhalt über Tags und Attribute definiert werden. 1) HTML organisiert die Dokumentstruktur über Tags, wie z. B.. 2) Der Browser analysiert HTML, um das DOM zu erstellen und die Webseite zu rendern. 3) Neue Merkmale von HTML5, wie z. B. Multimedia -Funktionen. 4) Zu den häufigen Fehlern gehören nicht abgestimmte Bezeichnungen und nicht geeignete Attributwerte. 5) Die Optimierungsvorschläge umfassen die Verwendung semantischer Tags und die Reduzierung der Dateigröße.

HTML, CSS und JavaScript verstehen: Ein AnfängerhandbuchHTML, CSS und JavaScript verstehen: Ein AnfängerhandbuchApr 12, 2025 am 12:02 AM

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung