在 Gridea 发布的网站中使用 Jsdelivr
Views ·
# EJS
在 Gridea 发布的网站中使用 Jsdelivr
注:jsDelivr 新增使用政策已经于 8 月 15 日生效,根据最新的政策本文某些操作已经属于违规了,请谨慎使用!
禁止以下行为:
- 托管或访问以下内容:
- 包含任何形式的恶意软件或有害代码,
- 侵犯他人的所有权,
- 在欧盟或美国可能是非法的。
- 滥用服务及其资源,或将 jsDelivr 用作通用文件或媒体托管服务。例如,这包括:
- 运行图像托管网站,并使用 jsDelivr 作为所有上传图像的存储空间,
- 托管视频,文件备份或大量其他文件。
关于 EJS 的一些其它使用可以参考这里面的文章。
替换文章图片
实际上,写的文章在 EJS 模板里可以当作字符串来处理。只需要掌握基础的 js 字符串知识,就可以轻松实现替换链接的功能。
代码如下:
<%- Content();%><% -%>
<%
function refineContent(str){
indexC = str.indexOf('<img');
while(indexC != -1){
indexEnd = str.indexOf('>', indexC);
srcImage = str.indexOf('src', indexC);
var s = "#Your domain here";
domain = str.substring(srcImage + 5, srcImage + 5 + s.length);
if (domain == "#Your domain here"){
str = str.substring(0, srcImage + 5) + 'https://cdn.jsdelivr.net/gh/<user>/<repo>@master/' + str.substring(str.indexOf("post-images", indexC));
}
indexC = str.indexOf('<img', indexEnd);
}
return str;
}
function Content(){
let con= post.content;
con = refineContent(con);
return con;
}
%>
使用以上代码的时候只需要把 post.ejs
中的 <%- post.content %>
替换成如上代码即可。
替换 post-feature 头图
function postFeature(){
postFeatureImg = post.feature;
if (postFeatureImg.indexOf("Your domain") != -1){
postFeatureImg = "https://cdn.jsdelivr.net/gh/<user>/<repo>@master/" + postFeatureImg.substring(postFeatureImg.indexOf("post-images"))
}
return postFeatureImg;
}
把如上内容也放在 <% %>
的里面,接着再替换 post.ejs
中的 <%= post.feature %>
为 <%- postFeature();%><% -%>
就🆗了。
Copyright (c) Serence. All rights reserved.