qexo / qexo Goto Github PK
View Code? Open in Web Editor NEWA Quick, Powerful and Pretty Online Manager for Hexo.
License: GNU General Public License v3.0
A Quick, Powerful and Pretty Online Manager for Hexo.
License: GNU General Public License v3.0
将通知同时推送到邮箱,发布或更新文章时推送到读者,代替谷歌,请制作页面供读者输入邮箱。你也遇到了这个问题吧,谷歌不能用!
加个文件管理器呗,github老不好用。带上传和下载
完全按照 Wki 中 “Vercel 部署”进行操作。
1.3 和 1.3.1 都会报相同错误并构建失败。
完整部署日志:
23:52:07.556 | Cloning github.com/JonnyJong/Qexo (Branch: master, Commit: 10f6dab)
23:52:08.911 | Cloning completed: 1.356s
23:52:09.318 | Analyzing source code...
23:52:09.351 | Warning: Due to builds
existing in your configuration file, the Build and Development Settings defined in your Project Settings will not apply. Learn More: https://vercel.link/unused-build-settings
23:52:12.128 | Installing build runtime...
23:52:14.477 | Build runtime installed: 2.349s
23:52:17.155 | Installing build runtime...
23:52:19.843 | Build runtime installed: 2.688s
23:52:27.946 | No Build Cache available
23:52:31.461 | Collecting Django==3.2.9
23:52:31.483 | Downloading Django-3.2.9-py3-none-any.whl (7.9 MB)
23:52:31.747 | Collecting PyGithub==1.55
23:52:31.753 | Downloading PyGithub-1.55-py3-none-any.whl (291 kB)
23:52:31.814 | Collecting PyJWT==2.3.0
23:52:31.831 | Downloading PyJWT-2.3.0-py3-none-any.whl (16 kB)
23:52:31.904 | Collecting PyNaCl==1.4.0
23:52:31.918 | Downloading PyNaCl-1.4.0-cp35-abi3-manylinux1_x86_64.whl (961 kB)
23:52:32.014 | Downloading asgiref-3.4.1-py3-none-any.whl (25 kB)
23:52:32.060 | Collecting certifi==2021.10.8
23:52:32.066 | Downloading certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
23:52:32.482 | Collecting cffi==1.15.0
23:52:32.490 | Downloading cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (405 kB)
23:52:32.543 | Collecting charset-normalizer==2.0.7
23:52:32.549 | Downloading charset_normalizer-2.0.7-py3-none-any.whl (38 kB)
23:52:32.596 | Downloading djongo-1.3.6.tar.gz (331 kB)
23:52:32.639 | Preparing metadata (setup.py): started
23:52:32.882 | Preparing metadata (setup.py): finished with status 'done'
23:52:32.911 | Collecting dnspython==2.1.0
23:52:32.918 | Downloading dnspython-2.1.0-py3-none-any.whl (241 kB)
23:52:32.961 | Collecting idna==3.3
23:52:32.967 | Downloading idna-3.3-py3-none-any.whl (61 kB)
23:52:32.975 | Requirement already satisfied: pip==21.3.1 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 12)) (21.3.1)
23:52:33.002 | Collecting pycparser==2.21
23:52:33.007 | Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
23:52:33.786 | Collecting pymongo==3.12.1
23:52:33.794 | Downloading pymongo-3.12.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (506 kB)
23:52:33.977 | Collecting pytz==2021.3
23:52:33.985 | Downloading pytz-2021.3-py2.py3-none-any.whl (503 kB)
23:52:34.092 | Collecting requests==2.26.0
23:52:34.097 | Downloading requests-2.26.0-py2.py3-none-any.whl (62 kB)
23:52:34.567 | Collecting setuptools==59.2.0
23:52:34.576 | Downloading setuptools-59.2.0-py3-none-any.whl (952 kB)
23:52:34.635 | Collecting six==1.16.0
23:52:34.638 | Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
23:52:34.673 | Collecting sqlparse==0.2.4
23:52:34.679 | Downloading sqlparse-0.2.4-py2.py3-none-any.whl (38 kB)
23:52:34.760 | Collecting urllib3==1.26.7
23:52:34.767 | Downloading urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
23:52:34.842 | Collecting wheel==0.37.0
23:52:34.847 | Downloading wheel-0.37.0-py2.py3-none-any.whl (35 kB)
23:52:35.081 | Collecting wrapt==1.13.3
23:52:35.087 | Downloading wrapt-1.13.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (78 kB)
23:52:35.170 | Downloading Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
23:52:35.264 | Collecting typing-extensions
23:52:35.270 | Downloading typing_extensions-4.0.0-py3-none-any.whl (22 kB)
23:52:35.350 | Collecting dataclasses
23:52:35.356 | Downloading dataclasses-0.8-py3-none-any.whl (19 kB)
23:52:35.601 | Using legacy 'setup.py install' for djongo, since package 'wheel' is not installed.
23:52:35.816 | Installing collected packages: typing-extensions, pycparser, wrapt, urllib3, sqlparse, six, pytz, idna, charset-normalizer, cffi, certifi, asgiref, requests, PyNaCl, pymongo, PyJWT, Django, deprecated, dataclasses, wheel, setuptools, PyGithub, dnspython, djongo
23:52:39.042 | Attempting uninstall: setuptools
23:52:39.042 | Found existing installation: setuptools 40.6.2
23:52:39.073 | Uninstalling setuptools-40.6.2:
23:52:39.240 | Successfully uninstalled setuptools-40.6.2
23:52:40.383 | Running setup.py install for djongo: finished with status 'done'
23:52:40.398 | Successfully installed Django-3.2.9 PyGithub-1.55 PyJWT-2.3.0 PyNaCl-1.4.0 asgiref-3.4.1 certifi-2021.10.8 cffi-1.15.0 charset-normalizer-2.0.7 dataclasses-0.8 deprecated-1.2.13 djongo-1.3.6 dnspython-2.1.0 idna-3.3 pycparser-2.21 pymongo-3.12.1 pytz-2021.3 requests-2.26.0 setuptools-59.2.0 six-1.16.0 sqlparse-0.2.4 typing-extensions-4.0.0 urllib3-1.26.7 wheel-0.37.0 wrapt-1.13.3
23:52:40.398 | WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
23:52:40.776 | Traceback (most recent call last):
23:52:40.777 | File "manage.py", line 22, in
23:52:40.777 | File "manage.py", line 18, in main
23:52:40.777 | execute_from_command_line(sys.argv)
23:52:40.777 | File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 419, in execute_from_command_line
23:52:40.778 | utility.execute()
23:52:40.778 | File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 363, in execute
23:52:40.778 | settings.INSTALLED_APPS
23:52:40.778 | File "/usr/local/lib/python3.6/site-packages/django/conf/init.py", line 82, in getattr
23:52:40.778 | self._setup(name)
23:52:40.778 | File "/usr/local/lib/python3.6/site-packages/django/conf/init.py", line 69, in _setup
23:52:40.778 | self._wrapped = Settings(settings_module)
23:52:40.778 | File "/usr/local/lib/python3.6/site-packages/django/conf/init.py", line 170, in init
23:52:40.779 | mod = importlib.import_module(self.SETTINGS_MODULE)
23:52:40.779 | File "/usr/local/lib/python3.6/importlib/init.py", line 126, in import_module
23:52:40.779 | return _bootstrap._gcd_import(name[level:], package, level)
23:52:40.779 | File "", line 994, in _gcd_import
23:52:40.779 | File "", line 971, in _find_and_load
23:52:40.779 | File "", line 955, in _find_and_load_unlocked
23:52:40.779 | File "", line 665, in _load_unlocked
23:52:40.779 | File "", line 678, in exec_module
23:52:40.779 | File "", line 219, in _call_with_frames_removed
23:52:40.780 | File "/vercel/path1/core/settings.py", line 22, in
23:52:40.780 | ALLOWED_HOSTS = json.loads(os.environ["DOMAINS"])
23:52:40.780 | return _default_decoder.decode(s)
23:52:40.780 | File "/usr/local/lib/python3.6/json/decoder.py", line 339, in decode
23:52:40.780 | obj, end = self.raw_decode(s, idx=_w(s, 0).end())
23:52:40.780 | File "/usr/local/lib/python3.6/json/decoder.py", line 357, in raw_decode
23:52:40.780 | raise JSONDecodeError("Expecting value", s, err.value) from None
23:52:40.780 | json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
23:52:40.925 | Traceback (most recent call last):
23:52:40.925 | File "manage.py", line 22, in
23:52:40.925 | main()
23:52:40.925 | File "manage.py", line 18, in main
23:52:40.925 | execute_from_command_line(sys.argv)
23:52:40.926 | utility.execute()
23:52:40.926 | File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 363, in execute
23:52:40.926 | settings.INSTALLED_APPS
23:52:40.926 | self._setup(name)
23:52:40.926 | File "/usr/local/lib/python3.6/site-packages/django/conf/init.py", line 69, in _setup
23:52:40.926 | self._wrapped = Settings(settings_module)
23:52:40.926 | File "/usr/local/lib/python3.6/site-packages/django/conf/init.py", line 170, in init
23:52:40.926 | mod = importlib.import_module(self.SETTINGS_MODULE)
23:52:40.926 | File "/usr/local/lib/python3.6/importlib/init.py", line 126, in import_module
23:52:40.926 | return _bootstrap._gcd_import(name[level:], package, level)
23:52:40.926 | File "", line 994, in _gcd_import
23:52:40.926 | File "", line 971, in _find_and_load
23:52:40.926 | File "", line 955, in _find_and_load_unlocked
23:52:40.927 | File "", line 678, in exec_module
23:52:40.927 | File "", line 219, in _call_with_frames_removed
23:52:40.927 | File "/vercel/path1/core/settings.py", line 22, in
23:52:40.927 | ALLOWED_HOSTS = json.loads(os.environ["DOMAINS"])
23:52:40.927 | File "/usr/local/lib/python3.6/json/init.py", line 354, in loads
23:52:40.927 | return _default_decoder.decode(s)
23:52:40.927 | File "/usr/local/lib/python3.6/json/decoder.py", line 339, in decode
23:52:40.927 | obj, end = self.raw_decode(s, idx=_w(s, 0).end())
23:52:40.927 | File "/usr/local/lib/python3.6/json/decoder.py", line 357, in raw_decode
23:52:40.927 | raise JSONDecodeError("Expecting value", s, err.value) from None
23:52:40.927 | json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
23:52:41.071 | Traceback (most recent call last):
23:52:41.071 | File "manage.py", line 22, in
23:52:41.072 | main()
23:52:41.072 | File "manage.py", line 18, in main
23:52:41.072 | File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 419, in execute_from_command_line
23:52:41.072 | utility.execute()
23:52:41.072 | File "/usr/local/lib/python3.6/site-packages/django/core/management/init.py", line 363, in execute
23:52:41.072 | settings.INSTALLED_APPS
23:52:41.072 | File "/usr/local/lib/python3.6/site-packages/django/conf/init.py", line 82, in getattr
23:52:41.072 | self._setup(name)
23:52:41.072 | File "/usr/local/lib/python3.6/site-packages/django/conf/init.py", line 69, in _setup
23:52:41.072 | self._wrapped = Settings(settings_module)
23:52:41.072 | File "/usr/local/lib/python3.6/site-packages/django/conf/init.py", line 170, in init
23:52:41.072 | mod = importlib.import_module(self.SETTINGS_MODULE)
23:52:41.072 | return _bootstrap._gcd_import(name[level:], package, level)
23:52:41.073 | File "", line 994, in _gcd_import
23:52:41.073 | File "", line 971, in _find_and_load
23:52:41.073 | File "", line 955, in _find_and_load_unlocked
23:52:41.073 | File "", line 665, in _load_unlocked
23:52:41.073 | File "", line 678, in exec_module
23:52:41.073 | File "", line 219, in _call_with_frames_removed
23:52:41.073 | File "/vercel/path1/core/settings.py", line 22, in
23:52:41.073 | ALLOWED_HOSTS = json.loads(os.environ["DOMAINS"])
23:52:41.073 | File "/usr/local/lib/python3.6/json/init.py", line 354, in loads
23:52:41.073 | return _default_decoder.decode(s)
23:52:41.073 | File "/usr/local/lib/python3.6/json/decoder.py", line 339, in decode
23:52:41.073 | obj, end = self.raw_decode(s, idx=_w(s, 0).end())
23:52:41.073 | File "/usr/local/lib/python3.6/json/decoder.py", line 357, in raw_decode
23:52:41.073 | raise JSONDecodeError("Expecting value", s, err.value) from None
23:52:41.073 | json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
23:52:41.097 | Error: Command "./now_build_staticfiles.sh" exited with 1
一键管理友链申请和友链页面
1.增加颜色自定义2.深色模式3.菜单增加自定义按钮(有直接跳转,和嵌在另一侧)
如题
可将时间戳的md5值转为十进制
侧边栏友链的CSS是神马?
注意:代码不翻译!
——— 懵懂的初一少年
https://yt-blgo.top
已加友链
1.4.4有问题
来自 https://admin.yt-blog.top/
大概是这样
<script>
(function(){
if('{{ page.password }}'){
if (prompt('请输入文章密码') !== '{{ page.password }}'){
alert('密码错误!');
history.back();
}
}
})();
</script>
侧边栏:
<ul class="list entry navigation" id="list entry navigation"></ul>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/hexo/friends/friends.css"/>
<script src="https://cdn.jsdelivr.net/gh/Fgaoxing/blog-cdn@main/source/js/side-friends.js"></script>
<script>loadQexoFriends("list entry navigation", ""网址")</script>
页面:
<div class="friends-group"><div id="friend-content" class="friend-content"></div></div>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/hexo/friends/friends.css"/>
<script src="https://cdn.jsdelivr.net/gh/Fgaoxing/blog-cdn@main/source/js/friends.js"></script>
<script>loadQexoFriends("friend-content", "网址")</script>
个人认为github+jsd图床方案自主管控比别家API图床更自由更安全,能否加入图片上传到账号指定Github仓库并生成cdn.jsdelivr.net/gh/username/repo@branch/filename.png这样链接的功能?可以参考这个图床系统。有webp转换,哈希文件名,压缩功能就更好了,谢谢!
在初始化github配置时一直提示校验失败,问下这个Github密钥是github的token吗
为了达到wordpress的效果,请允许自定义python指令,并提供Qexo-py库
wiki主题中的uskLSLrxpc41pwrhgvfDFXx,第一个侧边栏,好像多打了个 "
没找着在哪一行
Originally posted by @Fgaoxing in #70 (comment)
edge有个站点打包成程序的功能,有些网站就有这个,可以一键打包如https://www.yuque.com/
举个例 建议用 你的这个:https://qexo.oplog.cn/
来个详细的教程吧大佬。
修改package.json,来在线安装插件,须先检测是否存在该插件,然后在部署,并可选自动升级
在搜索页面下,可以到百度搜索。https://www.baidu.com/s?ie=UTF-8&wd=
搜索如下:https://www.baidu.com/s?ie=UTF-8&wd=%s
A pull request already exists for am-abudu:master.
如题
加入友联申请API,和加友联及删友联
把所有英文选项和错误码,汉化,错误可以提供错误码
加入api支持,使用qexo网站/api,基本的增删改查以及小工具,参数如下(我想的)
wiki主题中的uskLSLrxpc41pwrhgvfDFXx,第一个侧边栏,好像多打了个 ”
基于API密钥开放API接口,不再仅限于Webhook事件
感觉不安全,能否在网页上显示为“ghp_b**********************************p”这样的。
加入右键菜单,并且禁止F12
在编辑文章时报错
报错信息: 404 {"message": "Not Found", "documentation_url": "https://docs.github.com/rest/reference/repos#get-repository-content"}
查看的请求地址为https://xxx.vercel.app/edit.html?file=undefined
注 配置无误 编辑页面可以正常使用
如果保存时连按几次Ctrl+s,会同时保存多次。## 重点:保存动画不消失
希望支持把图片上传到source/img/
图片存放在网上的图床(free)容易挂,都用hexo了,还能用得起付费服务嘛(好吧,主要我7bu账号不知道为什么被冻结了,好像好久没登录,现在账号还要买了居然)
图片上传通过md5生成新的文件名(避免中文名称太过难看
仅使用Vditor上传时会自动生成
图片页面添加上传图片功能
把编辑器,改为管理器
加入配置和页面和友链的搜索
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.