爱写代码📝,爱弹琴🎸,是一个开发er🧑💻.
人在必回✔️,不在随缘❌.
喜欢各种奇奇怪怪的东西💡,信奉世界上没有真理的真理📚.
我的博客👁️🗨️:https://blog.itjoker.cn
外包 1000¥
起步💰
技术支持 300¥
起步💰
这个主题出自Hexo中的-Chic....我移植到了Gridea,喜欢的点个赞吧👍
Home Page: https://blog.itjoker.cn
License: Other
爱写代码📝,爱弹琴🎸,是一个开发er🧑💻.
人在必回✔️,不在随缘❌.
喜欢各种奇奇怪怪的东西💡,信奉世界上没有真理的真理📚.
我的博客👁️🗨️:https://blog.itjoker.cn
外包 1000¥
起步💰
技术支持 300¥
起步💰
如题,这个搜索框好像也不起作用,我没找到关闭的按钮。
您好,我现在在用chic主题,现在发现markdown下一级标题的文字渲染后在文字前面会出现# ,四级标题前面会出现* ,这个是设置成这样的吗?在其他主题下应#或者* 是不会出现的。
如果可以增加 首页 背景图 或者背景图随机轮播就好了
有没有办法将搜索关掉?
用valine评论,PC端上评论区会左偏,手机端似乎没有这个问题,不知道要怎么解决。。
这个暗黑模式gridea客户端不可以自己切换暗黑,必须用户手动有些麻烦
打开页面元素残缺,好像无法使用,网络无问题
多次尝试更新/保存主题,依然无效。
希望加入文章摘要的显示,以 <!-- more -->
为摘要分隔符。
进入页面总是显示发生错误 An audio error has occurred.
麻烦大佬看看
使用了主题,发现打赏图标没有居中,看起来有点别扭
https://leichen2552.github.io/post/hui-gu-4bu-er-lei-xing-he-yin-yong/
有目录,您可以点击看看。
还有黑暗模式下,代码的背景白色会占据右边目录的背景色,看上去很不协调。
我觉得界面还可以优化,比如目录可以更加靠右一些。
或者允许自己修改也可以,看着实在难受((
另外之前那个评论栏错位的issue可以直接加br解决
还有文章的阅读量不会显示数字只有一个‘-’,自己加了个访问量插件也显示不了,不知道是什么问题
想让card也添加暗色模式
这个代码高亮模式,我个人感觉不好看,所以给作者推荐一个,你可以从这个网站看看
https://www.lovelycatex.cn/cv316
同上问题,推荐用户可以自定义
在黑夜模式中,代码块显示很奇怪😂,希望大大有空能够解决一哈
我没有发现代码高亮怎么设置,麻烦dalao指点
RT
向搜索框输入内容后,页面始终显示“搜索中。。”,这是怎么回事?是搜索功能不支持中文么?求解答。
我把图片插入进博客后,点击图片没法放大,在线预览
文章多了全放在一面页面就太长了点,Gridea 客户端也给了”每页文章数“和”每页归档数“的设置,所以希望每页只显示固定个数的文章并支持翻页
Bilibili,Acfun,Twitch,爱发电
以及连续的各级目录之间的水平间距都短一些,例如一级目录与二级目录之间,二级目录与三级目录之间等等,我觉得大概一个字的宽度刚刚好。
https://leichen2552.github.io/post/rtos_from_zero_to_one/
RT
可能体验更佳吧QwQ
看到更新加入了天气插件,但是readme里没有写进去,所以想询问下
Gridea/themes/Chic/templates/search.ejs
<head>
<%- include('./include/head.ejs', { siteTitle: themeConfig.siteName }) %>
<script src="//cdn.jsdelivr.net/gh/tangkaichuan/gridea-search/lib/fuse.js"></script>
<script src="//cdn.jsdelivr.net/gh/tangkaichuan/gridea-search/lib/ejs.min.js"></script>
<script src="//cdn.jsdelivr.net/gh/tangkaichuan/gridea-search/lib/gridea-search.min.js"></script>
Missing catch or finally after try in Gridea\themes\Chic\templates\include\head.ejs while compiling ejs
If the above error is not helpful, you may want to try EJS-Lint:
https://github.com/RyanZim/EJS-Lint
Or, if you meant to create an async function, pass async: true as an option.
求解决
还有,右边的目录,为啥我点击还是没有反应?
我只是有个建议,目录可以放在左边么;我也试了Chrome浏览器,目录放在右边,在暗黑模式下,代码的背景白色还是会随着鼠标的滚动出现在目录下面;还有文中一大段字也会和目录重叠。真的希望目录可以放在左边。
https://leichen2552.github.io/post/hui-gu-2/#c%E4%B8%8Ec%E7%9A%84%E5%85%B3%E7%B3%BB
为了有效的通知抽中的人,请在这里留下邮箱 base64 加密就行,不要添加除了base64字符串以外的英文,最好中文也不要...
star数达到100人的时候抽1个人。
star数达到200人的时候抽2个人。以此类推。
建议只有base64,方便我用脚本获取issue
届时,脚本发布到这里👇,最后
抽中的结果以图片+文字的形式发送到这里。
已经购买的用户或者再一次抽中的用户可以有以下选择
不得倒卖,或者免费赠予他人,毕竟开发不易❤
注:抽奖获得的用户没有后续的维护
(只需支付6元💰即可得到后续更新维护,当然你可以选择不要这个更新维护服务)
import requests
import random
import time
import re
import json
import hashlib
import base64
from github import Github
from PIL import Image
import os
import win32gui, win32ui, win32con, win32api
import config
'''
结果自动发布到issue
为了保证公平性,随机抽取的算法公式如以下
打乱次数 = int(int(当前时间戳) / 抽奖时候项目的星数的星数 / 10000)
然后用ramdom自带的shuffle算法(洗牌算法)打乱要抽奖的idList
用这个随机数获取
'''
token = config.token
headers={}
g = Github(token)
repo = g.get_repo('ITJoker233/Gridea-theme-Chic')
'''19 为抽奖的issue id'''
issue = repo.get_issue(number=19)
'''670943373 为发布消息的 comment id'''
infoComment = issue.get_comment(670943373)
'''获得已经给Star的用户,并且在issue评论的用户'''
comments = issue.get_comments()
'''获得已经给Star的用户'''
stargazers = repo.get_stargazers_with_dates()
'''初始化用户数组'''
def initDict():
commentUsers = {}
for comment in comments:
if comment.user.login != 'ITJoker233':
pattern = r'[^\u4e00-\u9fa5]+'
matchData = re.search(pattern,comment.body)
if matchData:
commentUsers[str(comment.id)] = {
'email':base64.b64decode(matchData.group()).decode()
}
else:
print('这条comment无法匹配到:{comment.body}')
Users = {}
userCount = 0
for stargazer in stargazers:
Users[str(userCount)] = {
'id':stargazer.user.id,
'name':stargazer.user.login,
'email':''
}
if stargazer.user.id in commentUsers:
Users[str(userCount)]['email'] = commentUsers[str(stargazer.user.id)]['email']
else:
Users[str(userCount)]['email'] = g.get_user(stargazer.user.login).email
userCount += 1
return Users
'''图片压缩'''
def compressImage(srcFile,dstFile):
sImg=Image.open(srcFile)
w,h=sImg.size
dImg=sImg.resize((int(w),int(h)),Image.ANTIALIAS)
dImg.save(dstFile)
'''截图函数'''
def printScreen(filename):
hwnd = 0
hwndDC = win32gui.GetWindowDC(hwnd)
mfcDC = win32ui.CreateDCFromHandle(hwndDC)
saveDC = mfcDC.CreateCompatibleDC()
saveBitMap = win32ui.CreateBitmap()
MoniterDev = win32api.EnumDisplayMonitors(None, None)
w = MoniterDev[0][2][2]
h = MoniterDev[0][2][3]
saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)
saveDC.SelectObject(saveBitMap)
saveDC.BitBlt((0, 0), (w, h), mfcDC, (0, 0), win32con.SRCCOPY)
saveBitMap.SaveBitmapFile(saveDC, filename)
win32gui.DeleteObject(saveBitMap.GetHandle())
saveDC.DeleteDC()
mfcDC.DeleteDC()
win32gui.ReleaseDC(hwnd, hwndDC)
compressImage(filename,filename)
with open(filename,'rb') as file:
picBase64 = base64.b64encode(file.read())
return picBase64
'''上传到PicGo'''
def uploadPic(files):
url = 'http://127.0.0.1:36679/upload'
data = {
'list':files
}
response = requests.post(url,json.dumps(data)).json()
if response['success']:
return response['result'][0]
return response['success']
'''获得随机用户id'''
def getRandomUserID(StarCount):
'''由于从0开始,所以-1'''
idList = [x for x in range(0,StarCount-1)]
'''要给一定打乱的次数至少100次'''
messNum = random.randint(StarCount,int(int(time.time()) / StarCount / 10000))
for i in range(0,messNum):
random.shuffle(idList)
print('已打乱次数:'+str(messNum))
return idList[0]
'''开始抽奖'''
def StartLottery(Stargazers,winNumber):
'''star星数'''
StarCount = len(Stargazers)
'''中奖用户列表'''
winUsers = []
for i in range(winNumber):
print(f'**开始第{str(i)}个随机用户**')
winUser = Stargazers[str(getRandomUserID(StarCount))]
winUsers.append(winUser)
print(f'''{'*'*10}\nName: {winUser['name']}\nUserID:{winUser['id']}\nEmail:{winUser['email']}''')
print(f'''恭喜中奖的这{winNumber}个逼:{",".join([winUser['name'] for winUser in winUsers ])},''')
return winUsers
if __name__ == "__main__":
print('****初始化用户字典列表****')
'''初始化用户字典列表'''
oldTime = time.time()
Stargazers = initDict()
'''抽奖批次'''
lotteryTime = int(len(Stargazers)/100)
'''中奖人数'''
winNumber = lotteryTime
print('****开始抽奖****')
winUsers = StartLottery(Stargazers,winNumber)
print(f'****抽奖结束****\n> 用时:{int(time.time()-oldTime)}秒')
nowDate = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))
Body = infoComment.body + f'\r\n### 本次抽奖时间:{nowDate} \r\n#### 抽奖批次:第{lotteryTime}批 🔥'
i = 1
for winUser in winUsers:
Body += f'''\r\n{i}. {winUser['name']} {winUser['id']} '''
i += 1
fileName = f'''抽奖第{lotteryTime}批结果_{time.strftime("%Y%m%d%H%M%S", time.localtime(time.time()))}.jpg'''
print('****正在截图...****')
print(f'> 文件名为:{fileName}')
time.sleep(1)
md5 = hashlib.md5()
picData = printScreen(fileName)
md5.update(picData)
print('****正在上传到图床****')
picUrl = uploadPic([(os.path.abspath('.')+'\\'+fileName).replace('\\','/')])
Body += f'\r\n\n### 运行结果图\r\n\n 图片md5:{md5.hexdigest()}'
Body += f'\r\n\n![(图床)运行结果图]({picUrl})'
print('****正在提交数据****')
infoComment.edit(Body)
print(f'提交成功')
之前一直用ty,里面有个主题有文章访问需要密码的功能感觉挺好的,不知道能不能在这个主题上也增加?(小白不太清楚)
有图么?我迟点修 hhhh
建议在移动端添加吸底模式
更易修改,尤其对新手来说。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.