Git Product home page Git Product logo

qexo's Issues

邮箱推送

将通知同时推送到邮箱,发布或更新文章时推送到读者,代替谷歌,请制作页面供读者输入邮箱。你也遇到了这个问题吧,谷歌不能用!

文件管理

加个文件管理器呗,github老不好用。带上传和下载

全新部署到 Vercel 时:Error: Command "./now_build_staticfiles.sh" exited with 1

完全按照 Wki 中 “Vercel 部署”进行操作。

1.3 和 1.3.1 都会报相同错误并构建失败。

完整部署日志:

Building

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

建议 or 问题

  1. 更新以前文章没有给加上更新时间
  2. 生成文章的时候可不可以自动生成abbrlink之类的东西(当然,也就使用这个插件的用户需要,如果有什么更好的生成永久链接的方法请告诉我
  3. 能不能支持cdn引入表情,微软的那个属实有点少、
  4. 引用的vditor可以添加 切换编辑模式功能 嘛,我挺喜欢即时渲染的,虽然Ctrl+Alt+8可以切换。还有就是要是添加了这个按钮,希望可以设置默认编辑模式/狗头护体
  5. 暂时想到这些,想到其他再提。

增加颜色自定义

1.增加颜色自定义2.深色模式3.菜单增加自定义按钮(有直接跳转,和嵌在另一侧)

圖床設置

我嘗試在使用imgur來當圖床 但好像不太行 (圖1)
我按下一步也不能skip這個部分 無論按下一步/完成都陣出 (圖2)
請問有其他可行方案嗎?
image
image

文章加密

大概是这样

<script>
    (function(){
        if('{{ page.password }}'){
            if (prompt('请输入文章密码') !== '{{ page.password }}'){
                alert('密码错误!');
                history.back();
            }
        }
    })();
</script>

我加了volantis友联适配

请写在wiki中谢谢!

侧边栏:

<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>

DZ O%1@J%FIQ@ZF` GAZCA2

页面:

<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>

F(X EF3JI$BXV~G{IPG1%MS

小問題

image
這個位置我應該填hexo blog的project ID / Qexo的project ID?

图床功能希望添加GitHub+jsDelivr图床

个人认为github+jsd图床方案自主管控比别家API图床更自由更安全,能否加入图片上传到账号指定Github仓库并生成cdn.jsdelivr.net/gh/username/repo@branch/filename.png这样链接的功能?可以参考这个图床系统。有webp转换,哈希文件名,压缩功能就更好了,谢谢!

初始化github配置

在初始化github配置时一直提示校验失败,问下这个Github密钥是github的token吗

自定义指令

为了达到wordpress的效果,请允许自定义python指令,并提供Qexo-py库

在线安装

修改package.json,来在线安装插件,须先检测是否存在该插件,然后在部署,并可选自动升级

自动更新

A pull request already exists for am-abudu:master.

友链API

加入友联申请API,和加友联及删友联

汉化

把所有英文选项和错误码,汉化,错误可以提供错误码

openAPI

加入api支持,使用qexo网站/api,基本的增删改查以及小工具,参数如下(我想的)

开放API接口

基于API密钥开放API接口,不再仅限于Webhook事件

右键

加入右键菜单,并且禁止F12

提议

希望支持把图片上传到source/img/
图片存放在网上的图床(free)容易挂,都用hexo了,还能用得起付费服务嘛(好吧,主要我7bu账号不知道为什么被冻结了,好像好久没登录,现在账号还要买了居然)

图片上传通过md5生成新的文件名(避免中文名称太过难看
仅使用Vditor上传时会自动生成
图片页面添加上传图片功能

搜索

加入配置和页面和友链的搜索

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.