1import{_ as s,c as a,f as e,o as i}from"./app-D7CCjthX.js";const l={};function p(t,n){return i(),a("div",null,[...n[0]||(n[0]=[e(`<p>è¿å 天è¿ç§»æå¡å¨çï¼å¿æ³ï¼æ**ï¼ææç¨è¯ï¼é½ææå¡å¨äºï¼è¿ç¨é£ä¸ªé¾ç¨ç valine åï¼æä»¥æåå¤ä» valine è¿ç§»å°éåºäºèèèäºèç waline</p><p><a href="https://waline.js.org" target="_blank" rel="noopener noreferrer">Waline</a> æ¯ä¸æ¬¾ä» <a href="https://waline.js.org" target="_blank" rel="noopener noreferrer">Valine</a> è¡çç带å端è¯è®ºç³»ç»ãå¯ä»¥å° Waline çä»·æ With backend Valine.å®ç强大çèªç±åº¦å¸å¼åæãè¿éä¸å¤ä»ç»ï¼è¯¦ç»è¯·æµè§ <a href="https://waline.js.org" target="_blank" rel="noopener noreferrer">https://waline.js.org</a></p><p>å 为å±ä¹æ¯ææå¡å¨ç人äºï¼æä»¥æä»¬ç´æ¥å ¨ç§æé¨ç½²ã详ç»çæ¹æ¡å¦ä»¥ä¸æç¤ºï¼</p><ul><li>æå¡ç«¯é¨ç½²å°æä»¬æå¡å¨</li><li>æ°æ®åºé¨ç½²å° MySQL</li></ul><p>å ¶ä»çé¨ç½²æ¹æ¡è¯·å¨ waline å®ç½æ¥çï¼è¿éåªè®²è¿°ç¬ç«é¨ç½²ã</p><p>ææç®ç¨<code>docker-compose</code>é¨ç½²å°æä»¬çæå¡å¨ä¸ï¼é£ä¹æä»¬å°±éè¦åå¤<code>docker-compose.yml</code></p><div class="language-yaml line-numbers-mode" data-highlighter="prismjs" data-ext="yml"><pre><code class="language-yaml"><span class="line"><span class="token key atrule">version</span><span class="token punctuation">:</span> <span class="token string">"3.8"</span></span> 2<span class="line"><span class="token key atrule">services</span><span class="token punctuation">:</span></span> 3<span class="line"> <span class="token key atrule">web</span><span class="token punctuation">:</span></span> 4<span class="line"> <span class="token key atrule">image</span><span class="token punctuation">:</span> <span class="token string">"lizheming/waline"</span></span> 5<span class="line"> <span class="token key atrule">restart</span><span class="token punctuation">:</span> always</span> 6<span class="line"> <span class="token key atrule">ports</span><span class="token punctuation">:</span></span> 7<span class="line"> <span class="token punctuation">-</span> 127.0.0.1<span class="token punctuation">:</span>8360<span class="token punctuation">:</span><span class="token number">8360</span></span> 8<span class="line"> <span class="token key atrule">volumes</span><span class="token punctuation">:</span></span> 9<span class="line"> <span class="token punctuation">-</span> $<span class="token punctuation">{</span>PWD<span class="token punctuation">}</span>/data<span class="token punctuation">:</span>/app/data</span> 10<span class="line"> <span class="token key atrule">environment</span><span class="token punctuation">:</span></span> 11<span class="line"> <span class="token comment"># è¿éæä¹å¡«è¯¦è§ä¸æ</span></span> 12<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>é£ä¹æä»¬è¿éè¦å¡«åç¯å¢ï¼æå ³ç¯å¢åéçç¸å ³å 容å 为ç¯å¹ 太é¿ï¼æä»¥æç´æ¥æ¾ä¼ éé¨ <a href="https://waline.js.org/reference/env.html" target="_blank" rel="noopener noreferrer">https://waline.js.org/reference/env.html</a></p><p>伿å¨ç¥ï¼HTTP æ¯ææä¼ è¾çï¼è HTTPS æ¯å¯æä¼ è¾ãæä»¥æä»¬æ³è¦å®ç°å¯æä¼ è¾ï¼å°±éè¦ SSL è¯ä¹¦å Nginx åå代çã SSL è¯ä¹¦æä»¬ä½¿ç¨ Let's Encrypt å³å¯ï¼ç°å¨æä»¬è¦è®¾ç½®çæ¯ Nginx åå代çã</p><p>è¿é以å®å¡é¢æ¿ä¸ºä¾ï¼</p><ol><li>转å°âç½ç«â</li><li>æ°å»ºä¸ä¸ªç½ç«ï¼é ç½®å¦å¾æç¤º</li><li>ä¿åï¼ä»¥çå¤ç¨</li></ol><figure><img src="https://img.hestudio.net/img/2022/12/11/6395a29cf37e7.jpg" alt="填忍¡æ¿" tabindex="0" loading="lazy"><figcaption>填忍¡æ¿</figcaption></figure><p>ç±äºæä»¬ç¨çæ¯ MySQLï¼æä»¥ç´æ¥è·³è¿ä¼ éé¨ä¸é¢çå 容ï¼ç´æ¥è½¬å° MySQL ä½ç½®ã</p><p>è¿éå°±æä¸ä¸ªé®é¢ï¼å°±æ¯ä½ å¿ é¡»ä¿è¯ä½ çæ°æ®åºå¨å¤é¨è½è®¿é®ï¼<code>localhost</code>å¨è¿éæ æï¼å«é®ææä¹ç¥éçï¼ï¼ä½ éè¦æå¼æéæè½ä¿è¯ä½ çæ°æ®åºå¨å¤è¾¹è½è®¿é®ï¼ä¸æä¸»æºå°åéè¦å¡«åä½ çå ¬ç½ IP æè ååï¼å<code>www.hestudio.net</code>è¿æ ·æ²¡æåè®®å¤´åææ ç纯ååï¼</p><div class="hint-container warning"><p class="hint-container-title">注æ</p><p>ä½ çæ°æ®åºå¨å¤é¨è½è®¿é®ï¼å»ºè®®ä½ ä¸è¦ç¨é»è®¤çæ°æ®åºç«¯å£å·ï¼3306ï¼</p></div><p>忬¡ä½¿ç¨éè¦å MySQL æ°æ®åºå¯¼å ¥ä¸æ®µæ°æ®ï¼å°ä»¥ä¸
12å 容å¤å¶ï¼å¦å为以<code>.sql</code>为åç¼çæä»¶ï¼ç¶åå¯¼å ¥æ°æ®åºã</p><div class="language-text line-numbers-mode has-collapsed-lines collapsed" data-highlighter="prismjs" data-ext="text" style="--vp-collapsed-lines:15;"><pre><code class="language-text"><span class="line">/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;</span> 13<span class="line">/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;</span> 14<span class="line">/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;</span> 15<span class="line">/*!40101 SET NAMES utf8 */;</span> 16<span class="line">SET NAMES utf8mb4;</span> 17<span class="line">/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;</span> 18<span class="line">/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;</span> 19<span class="line">/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;</span> 20<span class="line"></span> 21<span class="line"></span> 22<span class="line"># Dump of table wl_Comment</span> 23<span class="line"># ------------------------------------------------------------</span> 24<span class="line"></span> 25<span class="line">CREATE TABLE \`wl_Comment\` (</span> 26<span class="line"> \`id\` int(11) unsigned NOT NULL AUTO_INCREMENT,</span> 27<span class="line"> \`user_id\` int(11) DEFAULT NULL,</span> 28<span class="line"> \`comment\` text,</span> 29<span class="line"> \`insertedAt\` timestamp NULL DEFAULT CURRENT_TIMESTAMP,</span> 30<span class="line"> \`ip\` varchar(100) DEFAULT '',</span> 31<span class="line"> \`link\` varchar(255) DEFAULT NULL,</span> 32<span class="line"> \`mail\` varchar(255) DEFAULT NULL,</span> 33<span class="line"> \`nick\` varchar(255) DEFAULT NULL,</span> 34<span class="line"> \`pid\` int(11) DEFAULT NULL,</span> 35<span class="line"> \`rid\` int(11) DEFAULT NULL,</span> 36<span class="line"> \`sticky\` boolean DEFAULT NULL,</span> 37<span class="line"> \`status\` varchar(50) NOT NULL DEFAULT '',</span> 38<span class="line"> \`like\` int(11) DEFAULT NULL,</span> 39<span class="line"> \`ua\` text,</span> 40<span class="line"> \`url\` varchar(255) DEFAULT NULL,</span> 41<span class="line"> \`createdAt\` timestamp NULL DEFAULT CURRENT_TIMESTAMP,</span> 42<span class="line"> \`updatedAt\` timestamp NULL DEFAULT CURRENT_TIMESTAMP,</span> 43<span class="line"> PRIMARY KEY (\`id\`)</span> 44<span class="line">) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;</span> 45<span class="line"></span> 46<span class="line"></span> 47<span class="line"></span> 48<span class="line"># Dump of table wl_Counter</span> 49<span class="line"># ------------------------------------------------------------</span> 50<span class="line"></span> 51<span class="line">CREATE TABLE \`wl_Counter\` (</span> 52<span class="line"> \`id\` int(11) unsigned NOT NULL AUTO_INCREMENT,</span> 53<span class="line"> \`time\` int(11) DEFAULT NULL,</span> 54<span class="line"> \`reaction0\` int(11) DEFAULT NULL,</span> 55<span class="line"> \`reaction1\` int(11) DEFAULT NULL,</span> 56<span class="line"> \`reaction2\` int(11) DEFAULT NULL,</span> 57<span class="line"> \`reaction3\` int(11) DEFAULT NULL,</span> 58<span class="line"> \`reaction4\` int(11) DEFAULT NULL,</span> 59<span class="line"> \`reaction5\` int(11) DEFAULT NULL,</span> 60<span class="line"> \`reaction6\` int(11) DEFAULT NULL,</span> 61<span class="line"> \`reaction7\` int(11) DEFAULT NULL,</span> 62<span class="line"> \`reaction8\` int(11) DEFAULT NULL,</span> 63<span class="line"> \`url\` varchar(255) NOT NULL DEFAULT '',</span> 64<span class="line"> \`createdAt\` timestamp NULL DEFAULT CURRENT_TIMESTAMP,</span> 65<span class="line"> \`updatedAt\` timestamp NULL DEFAULT CURRENT_TIMESTAMP,</span> 66<span class="line"> PRIMARY KEY (\`id\`)</span> 67<span class="line">) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;</span> 68<span class="line"></span> 69<span class="line"></span> 70<span class="line"></span> 71<span class="line"># Dump of table wl_Users</span> 72<span class="line"># ------------------------------------------------------------</span> 73<span class="line"></span> 74<span class="line">CREATE TABLE \`wl_Users\` (</span> 75<span class="line">
75 \`id\` int(11) unsigned NOT NULL AUTO_INCREMENT,</span> 76<span class="line"> \`display_name\` varchar(255) NOT NULL DEFAULT '',</span> 77<span class="line"> \`email\` varchar(255) NOT NULL DEFAULT '',</span> 78<span class="line"> \`password\` varchar(255) NOT NULL DEFAULT '',</span> 79<span class="line"> \`type\` varchar(50) NOT NULL DEFAULT '',</span> 80<span class="line"> \`label\` varchar(255) DEFAULT NULL,</span> 81<span class="line"> \`url\` varchar(255) DEFAULT NULL,</span> 82<span class="line"> \`avatar\` varchar(255) DEFAULT NULL,</span> 83<span class="line"> \`github\` varchar(255) DEFAULT NULL,</span> 84<span class="line"> \`twitter\` varchar(255) DEFAULT NULL,</span> 85<span class="line"> \`facebook\` varchar(255) DEFAULT NULL,</span> 86<span class="line"> \`google\` varchar(255) DEFAULT NULL,</span> 87<span class="line"> \`weibo\` varchar(255) DEFAULT NULL,</span> 88<span class="line"> \`qq\` varchar(255) DEFAULT NULL,</span> 89<span class="line"> \`2fa\` varchar(32) DEFAULT NULL,</span> 90<span class="line"> \`createdAt\` timestamp NULL DEFAULT CURRENT_TIMESTAMP,</span> 91<span class="line"> \`updatedAt\` timestamp NULL DEFAULT CURRENT_TIMESTAMP,</span> 92<span class="line"> PRIMARY KEY (\`id\`)</span> 93<span class="line">) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;</span> 94<span class="line"></span> 95<span class="line"></span> 96<span class="line"></span> 97<span class="line"></span> 98<span class="line">/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;</span> 99<span class="line">/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;</span> 100<span class="line">/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;</span> 101<span class="line">/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;</span> 102<span class="line">/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;</span> 103<span class="line">/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;</span> 104<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div><div class="collapsed-lines"></div></div><p>ç¶åæç §ä¸é¢æ¨¡æ¿å¡«åï¼ä»¥çå¤ç¨</p><div class="language-yaml line-numbers-mode has-collapsed-lines collapsed" data-highlighter="prismjs" data-ext="yml" style="--vp-collapsed-lines:15;"><pre><code class="language-yaml"><span class="line"><span class="token key atrule">version</span><span class="token punctuation">:</span> <span class="token string">"3.8"</span></span> 105<span class="line"><span class="token key atrule">services</span><span class="token punctuation">:</span></span> 106<span class="line"> <span class="token key atrule">web</span><span class="token punctuation">:</span></span> 107<span class="line"> <span class="token key atrule">image</span><span class="token punctuation">:</span> <span class="token string">"lizheming/waline"</span></span> 108<span class="line"> <span class="token key atrule">restart</span><span class="token punctuation">:</span> always</span> 109<span class="line"> <span class="token key atrule">ports</span><span class="token punctuation">:</span></span> 110<span class="line">
110 <span class="token punctuation">-</span> 127.0.0.1<span class="token punctuation">:</span>8360<span class="token punctuation">:</span><span class="token number">8360</span></span> 111<span class="line"> <span class="token key atrule">volumes</span><span class="token punctuation">:</span></span> 112<span class="line"> <span class="token punctuation">-</span> $<span class="token punctuation">{</span>PWD<span class="token punctuation">}</span>/data<span class="token punctuation">:</span>/app/data</span> 113<span class="line"> <span class="token key atrule">environment</span><span class="token punctuation">:</span></span> 114<span class="line"> <span class="token key atrule">MYSQL_HOST</span><span class="token punctuation">:</span> <span class="token comment"># å¡«ä½ çæ°æ®åºä¸»æºå°å</span></span> 115<span class="line"> <span class="token key atrule">MYSQL_PORT</span><span class="token punctuation">:</span> <span class="token comment"># å¡«ä½ çæ°æ®åºç«¯å£å·</span></span> 116<span class="line"> <span class="token key atrule">MYSQL_DB</span><span class="token punctuation">:</span> <span class="token comment"># å¡«ä½ çæ°æ®åºå</span></span> 117<span class="line"> <span class="token key atrule">MYSQL_USER</span><span class="token punctuation">:</span> <span class="token comment"># å¡«ä½ çæ°æ®åºç¨æ·å</span></span> 118<span class="line"> <span class="token key atrule">MYSQL_PASSWORD</span><span class="token punctuation">:</span> <span class="token comment"># å¡«ä½ çæ°æ®åºå¯ç </span></span> 119<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div><div class="collapsed-lines"></div></div><p>ç°å¨ä½ éè¦é¨ç½²å° Dockerï¼è¿é以å®å¡é¢æ¿ä¸ºä¾ï¼</p><ol><li>è¿å ¥ Docker >> Compose 模æ¿</li></ol><figure><img src="https://img.hestudio.net/img/2022/12/11/6395a297bc475.png" alt="Compose模æ¿" tabindex="0" loading="lazy"><figcaption>Compose模æ¿</figcaption></figure><ol start="2"><li>ç¹å»âæ·»å â</li><li>模æ¿åèªå®ä¹ï¼å å®¹å¡«å ¥ä¸é¢å好ç yaml æä»¶</li></ol><figure><img src="https://img.hestudio.net/img/2022/12/11/6395a29954e67.png" alt="æ·»å æ¨¡æ¿" tabindex="0" loading="lazy"><figcaption>æ·»å æ¨¡æ¿</figcaption></figure><ol start="4"><li>ä¿åï¼å¹¶è½¬å°âComposeâ页é¢</li><li>ç¹å»âæ·»å Compose 项ç®â</li></ol><figure><img src="https://img.hestudio.net/img/2022/12/11/6395a29a78b4c.png" alt="æ·»å Compose项ç®" tabindex="0" loading="lazy"><figcaption>æ·»å Compose项ç®</figcaption></figure><ol start="6"><li>éæ©åæåå»ºçæ¨¡æ¿ï¼ç¹å»æ·»å </li><li>çå¾ ä¸å®æ¶é´åï¼è½¬å°â容å¨â页é¢</li><li>è®°ä½è¿ä¸ª IPï¼è¿ä¼æç¨</li></ol><p>æå¡ç«¯çæå䏿¥ï¼é ç½®åå代çï¼è¿éè¿æ¯ä»¥å®å¡é¢æ¿ä¸ºä¾</p><ol><li>è¿å ¥ç½ç«è®¾ç½® >> åå代ç >> æ·»å åå代ç</li><li>å¦å¾æç¤º</li></ol><figure><img src="https://img.hestudio.net/img/2022/12/11/6395a29f1ea5d.jpg" alt="模æ¿" tabindex="0" loading="lazy"><figcaption>模æ¿</figcaption></figure><p>æåï¼è®¿é®</p><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text"><pre><code class="language-text"><span class="line">https://è¯è®ºç³»ç»åå/ui</span> 120<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>并注åä½ çè´¦å·ï¼å¦ææ³¨åæåå³è¡¨ç¤ºæå¡ç«¯çé 置已ç»å®æã</p><p>è³æ¤ï¼æå¡ç«¯çé 置就ç®å䏿®µè½äºãä¸é¢å¼å§å®¢æ·ç«¯çé ç½®ï¼è¿é以 hexo ç fluid 主é¢ä¸ºä¾ã</p><ol><li>ç¼è¾ä¸»é¢ç<code>_config.yml</code>æä»¶</li><li>æå¼è¯è®ºåè½ï¼å¹¶æå®æä»¶ä¸º walineï¼æ éå¤å¶ï¼åªéç¼è¾å¯¹åºçå 容å³å¯ï¼</li></ol><div class="language-yaml line-numbers-mode" data-highlighter="prismjs" data-ext="yml"><pre><code class="language-yaml"><span class="line"><span class="token comment"># è¯è®ºæä»¶</span></span> 121<span class="line"><span class="token comment"># Comment plugin</span></span> 122<span class="line"><span class="token key atrule">comments</span><span class="token punctuation">:</span></span> 123<span class="line"> <span class="token key atrule">enable</span><span class="token punctuation">:</span> <span class="token boolean important">true</span></span> 124<span class="line"> <span class="token comment"># æå®çæä»¶ï¼éè¦åæ¶è®¾ç½®å¯¹åºæä»¶çå¿ è¦åæ°</span></span> 125<span class="line"> <span class="token comment"># The specified plugin needs to set the necessary parameters at the same time</span></span> 126<span class="line"> <span class="token comment"># Options: utterances | disqus | gitalk | valine | waline | changyan | livere | remark42 | twikoo | cusdis | giscus</span></span> 127<span class="line"> <span class="token key atrule">type</span><span class="token punctuation">:</span> waline</span> 128<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="3"><li>æ¾å°ä¸é¢ waline çç¸å ³é ç½®</li><li><code>serverURL</code> ä¸ºå¿ å¡«é¡¹ï¼å¡«åä½ çè¯è®ºç³»ç»åå</li><li>å ¶ä»çé 置详æ è¯¦è§ <a href="https://waline.js.org/reference/component.html" target="_blank" rel="noopener noreferrer">https://waline.js.org/reference/component.html</a></li></ol><p>ä¿åï¼é¨ç½²ã妿æµè¯æ£å¸¸ï¼å°±æ²¡æå¾ä¸ççå¿ è¦äºã</p><p>å½ç¶ï¼æçå°ä¼ä¼´éå°äºè½ç¶æ£ç¡®é ç½®ï¼ä½æ¯ç½é¡µåºé¨çè¯è®ºè¿æ¯ä¸æ¾ç¤ºï¼è¿ä¸ªæä¹åå¢ï¼å 为åé»è®¤ç CDN å°åè¯·æ± Hexo å¿ é¡»ç<code>waline.min.js</code>æ¶æ¾ä¸å°æä»¶ï¼404ï¼ã</p><figure><img src="https://img.hestudio.net/img/2022/12/11/6395a2a18e0f4.jpg" alt="è¿å404" tabindex="0" loading="lazy"><figcaption>è¿å404</figcaption></figure><p>以 Hexo ç fluid 主é¢ä¸ºä¾ï¼å°ä¸»é¢ç_config.yml åºé¨ CDN é ç½®ç Waline æ¹ä¸º heStudio ç CDNï¼ç¶å忬¡é¨ç½²ã</p>`,41)])])}const r=s(l,[["render",p]]),d=JSON.parse('{"path":"/posts/set-waline-on-
128hexo.html","title":"å¨ Hexo ä¸ä½¿ç¨ Waline","lang":"zh-CN","frontmatter":{"title":"å¨ Hexo ä¸ä½¿ç¨ Waline","tag":["Docker"],"category":["Linux"],"description":"è¿å 天è¿ç§»æå¡å¨çï¼å¿æ³ï¼æ**ï¼ææç¨è¯ï¼é½ææå¡å¨äºï¼è¿ç¨é£ä¸ªé¾ç¨ç valine åï¼æä»¥æåå¤ä» valine è¿ç§»å°éåºäºèèèäºèç waline Waline æ¯ä¸æ¬¾ä» Valine è¡çç带å端è¯è®ºç³»ç»ãå¯ä»¥å° Waline çä»·æ With backend Valine.å®ç强大çèªç±åº¦å¸å¼åæãè¿éä¸å¤ä»ç»ï¼è¯¦ç»è¯·æµè§ https:...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"å¨ Hexo ä¸ä½¿ç¨ Waline\\",\\"image\\":[\\"https://img.hestudio.net/img/2022/12/11/6395a29cf37e7.jpg\\",\\"https://img.hestudio.net/img/2022/12/11/6395a297bc475.png\\",\\"https://img.hestudio.net/img/2022/12/11/6395a29954e67.png\\",\\"https://img.hestudio.net/img/2022/12/11/6395a29a78b4c.png\\",\\"https://img.hestudio.net/img/2022/12/11/6395a29f1ea5d.jpg\\",\\"https://img.hestudio.net/img/2022/12/11/6395a2a18e0f4.jpg\\"],\\"dateModified\\":\\"2025-03-13T06:15:20.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"undefined\\",\\"url\\":\\"https://www.hestudio.net/about/\\",\\"email\\":\\"[email protected]\\"}]}"],["meta",{"property":"og:url","content":"https://www.hestudio.net/posts/set-waline-on-hexo.html"}],["meta",{"property":"og:site_name","content":"heStudio"}],["meta",{"property":"og:title","content":"å¨ Hexo ä¸ä½¿ç¨ Waline"}],["meta",{"property":"og:description","content":"è¿å 天è¿ç§»æå¡å¨çï¼å¿æ³ï¼æ**ï¼ææç¨è¯ï¼é½ææå¡å¨äºï¼è¿ç¨é£ä¸ªé¾ç¨ç valine åï¼æä»¥æåå¤ä» valine è¿ç§»å°éåºäºèèèäºèç waline Waline æ¯ä¸æ¬¾ä» Valine è¡çç带å端è¯è®ºç³»ç»ãå¯ä»¥å° Waline çä»·æ With backend Valine.å®ç强大çèªç±åº¦å¸å¼åæãè¿éä¸å¤ä»ç»ï¼è¯¦ç»è¯·æµè§ https:..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://img.hestudio.net/img/2022/12/11/6395a29cf37e7.jpg"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-03-13T06:15:20.000Z"}],["meta",{"property":"article:tag","content":"Docker"}],["meta",{"property":"article:modified_time","content":"2025-03-13T06:15:20.000Z"}]]},"git":{"createdTime":1671603014000,"updatedTime":1741846520000},"readingTime":{"minutes":5.14,"words":1542},"filePathRelative":"posts/set-waline-on-hexo.md","excerpt":"<p>è¿å 天è¿ç§»æå¡å¨çï¼å¿æ³ï¼æ**ï¼ææç¨è¯ï¼é½ææå¡å¨äºï¼è¿ç¨é£ä¸ªé¾ç¨ç valine åï¼æä»¥æåå¤ä» valine è¿ç§»å°éåºäºèèèäºèç waline</p>\\n<p><a href=\\"https://waline.js.org\\" target=\\"_blank\\" rel=\\"noopener noreferrer\\">Waline</a> æ¯ä¸æ¬¾ä» <a href=\\"https://waline.js.org\\" target=\\"_blank\\" rel=\\"noopener noreferrer\\">Valine</a> è¡çç带å端è¯è®ºç³»ç»ãå¯ä»¥å° Waline çä»·æ With backend Valine.å®ç强大çèªç±åº¦å¸å¼åæãè¿éä¸å¤ä»ç»ï¼è¯¦ç»è¯·æµè§ <a href=\\"https://waline.js.org\\" target=\\"_blank\\" rel=\\"noopener noreferrer\\">https://waline.js.org</a></p>\\n<p>å 为å±ä¹æ¯ææå¡å¨ç人äºï¼æä»¥æä»¬ç´æ¥å
¨ç§æé¨ç½²ã详ç»çæ¹æ¡å¦ä»¥ä¸æç¤ºï¼</p>\\n<ul>\\n<li>æå¡ç«¯é¨ç½²å°æä»¬æå¡å¨</li>\\n<li>æ°æ®åºé¨ç½²å° MySQL</li>\\n</ul>\\n<p>å
¶ä»çé¨ç½²æ¹æ¡è¯·å¨ waline å®ç½æ¥çï¼è¿éåªè®²è¿°ç¬ç«é¨ç½²ã</p>\\n","autoDesc":true}');export{r as comp,d as data};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.