Solo v3.4.0 发布,自动同步 GitHub 仓库

本贴最后更新于 2068 天前,其中的信息可能已经物是人非

v3.4.0 简介

Solo v3.4.0 主要增加了两个新特性,博文定时同步 GitHub 仓库(线上效果请看这里,实现细节请看这里)以及展示站点连接(在社区设置站点连接后博客端也将进行展示)。另外,从 v3.4.0 起我们以 Docker 镜像作为主要的交付方式,这样可以方便地进行自动升级,细节请看 Solo 使用指南

下个版本 v3.5.0 我们将上线一款新皮肤 Casper,如果你看到中意的皮肤需要移植,请到此提议

下线 CDN

从该版本开始,我们提供的 Solo 静态资源 CDN 已经下线,请大家不要使用。

升级须知

可从 v3.0.0 起的任何版本直接升级,升级前请备份数据库,以备发生不可预期的问题时进行回滚。

v3.4.0 变更记录

  • 12676 博文定时同步 GitHub 仓库 feature
  • 12719 展示站点连接 feature
  • 12720 皮肤细节改进 skin
  • 12713 后台评论渲染和前端显示保持一致 enhancement
  • 12714 评论异步刷新时,甘特图等没有被渲染 enhancement
  • 12715 Docker 镜像地址更新 enhancement
  • 12716 更新博客域名提示 enhancement
  • 12717 修复升级程序问题 enhancement
  • 12718 以 Docker 作为主要的交付方式 enhancement
  • 12721 目录插件调整 enhancement
  • 12725 支持手动清理存档 enhancement
  • 12729 “我的开源”在当前页面打开 enhancement
  • 12730 Markdown 超链接 a 标签不加 id enhancement
  • 12734 用户名可包含横线 - enhancement
  • 12731 自定义页面评论 Markdown bug

历史版本变更请浏览这里

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1434 引用 • 10054 回帖 • 490 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    408 引用 • 3574 回帖
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Hanseltu

    感谢 D 大,不过每次更新一版都会对前一版有影响吗?比如这个标签栏,没有小框框有点难受 😵

    fenlei12.png

    2 回复
  • 其他回帖
  • lai-bluejay

    solo 用 docker 配置后,网页内容加载出错。java cp 启动方式不会报错。
    Mixed Content: The page at 'https://www.jithub.cn/' was loaded over HTTPS, but requested an insecure stylesheet 'http://www.jithub.cn/skins/Pinghsu/css/base.css?1553584947395'. This request has been blocked; the content must be served over HTTPS.

    nginx 配置:

    # cat jithub.conf
    # ssl_session_cache   shared:SSL:10m;
    # ssl_session_timeout 10m;
    
    upstream backend {
            server localhost:8080; # Tomcat/Jetty
    }
    server {
            listen       443;
            server_name  www.jithub.cn;
            charset utf8;
            ssl on;
    
            keepalive_timeout   70;
            ssl_certificate /root/cert/Nginx/1_jithub.cn_bundle.crt;
            ssl_certificate_key /root/cert/Nginx/2_jithub.cn.key;
            ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers         HIGH:!aNULL:!MD5;
    
            if ($scheme != 'https') {
            rewrite ^(.*)$  https://$server_name$1 permanent;
        }
    
            location / {
                    proxy_pass http://backend$request_uri;
                    proxy_redirect https:// http://;
                    proxy_set_header  Host $host:$server_port;
                    proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header  X-Forwarded-Proto https;
                proxy_set_header  SSL_PROTOCOL $ssl_protocol;
                    client_max_body_size  10m;
            }
    }
    
    server {
            listen       80;
            server_name  jithub.cn www.jithub.cn;
    
            access_log off;
    
            if ($host = "jithub.cn"){
                    return 301 https://www.jithub.cn$request_uri;
                    }
            return 301 https://$server_name$request_uri;
            }
    
    server {
            listen 443;
            server_name jithub.cn;
            return 301 https://www.jithub.cn$request_uri;
    
    
    }
    
    2 回复
  • lai-bluejay

    抱歉,才回复信息。已经用 docker 启动了,麻烦帮忙看一下~~
    https://www.jithub.cn/。

    # cat jithub.conf  # ssl_session_cache shared:SSL:10m;  # ssl_session_timeout 10m;  upstream backend { server localhost:8080; # Tomcat/Jetty } server { listen  443; server_name www.jithub.cn; charset utf8; ssl  on; keepalive_timeout  70; ssl_certificate /root/cert/Nginx/1_jithub.cn_bundle.crt; ssl_certificate_key /root/cert/Nginx/2_jithub.cn.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; if ($scheme != 'https') { rewrite ^(.*)$ https://$server_name$1  permanent; } location / { proxy_pass http://backend$request_uri; proxy_redirect https:// http://; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header SSL_PROTOCOL $ssl_protocol; client_max_body_size  10m; } } server { listen  80; server_name jithub.cn www.jithub.cn; access_log  off; if ($host = "jithub.cn"){ return  301 https://www.jithub.cn$request_uri; } return  301 https://$server_name$request_uri; } server { listen  443; server_name jithub.cn; return  301 https://www.jithub.cn$request_uri; }
    

    启动命令

    docker run --detach --name solo --network=host \
        --env RUNTIME_DB="MYSQL" \
        --env JDBC_USERNAME="sololhc" \
        --env JDBC_PASSWORD="E]---------------#=" \
        --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
        --env JDBC_URL="jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
        b3log/solo --listen_port=8080 --server_scheme=https --server_host=www.jithub.cn
    
    1 回复
  • guobingwei
    admin.min.js?1553608134392:15 Uncaught TypeError: Util.parseMarkdown is not a function
        at Object.success (admin.min.js?1553608134392:15)
        at f (admin-lib.min.js:1)
        at Object.fireWith [as resolveWith] (admin-lib.min.js:1)
        at r (admin-lib.min.js:3)
        at XMLHttpRequest.r (admin-lib.min.js:3)
    success @ admin.min.js?1553608134392:15
    f @ admin-lib.min.js:1
    fireWith @ admin-lib.min.js:1
    r @ admin-lib.min.js:3
    r @ admin-lib.min.js:3
    XMLHttpRequest.send (async)
    send @ admin-lib.min.js:3
    ajax @ admin-lib.min.js:3
    getList @ admin.min.js?1553608134392:15
    init @ admin.min.js?1553608134392:15
    (anonymous) @ admin.min.js?1553608134392:1
    each @ admin-lib.min.js:1
    each @ admin-lib.min.js:1
    complete @ admin-lib.min.js:3
    f @ admin-lib.min.js:1
    fireWith @ admin-lib.min.js:1
    r @ admin-lib.min.js:3
    r @ admin-lib.min.js:3
    XMLHttpRequest.send (async)
    send @ admin-lib.min.js:3
    ajax @ admin-lib.min.js:3
    load @ admin-lib.min.js:3
    setCurByHash @ admin.min.js?1553608134392:1
    inited @ admin.min.js?1553608134392:1
    (anonymous) @ admin-index.do:237
    1_u010943460.jpg:1 GET https://avatar.csdn.net/7/3/5/1_u010943460.jpg 403
    

    报这个错

    1 回复
  • 查看全部回帖