思源的 theme.js 可以使用 http 模块,因此可以在 app 模式下另外再起一个服务进程响应思源本身 6806 端口以外的访问。
尝试了一下,在 theme.js 中另外拉起一个服务,就可以对文档内容进行简单的分享了。
局限性是必须打开 app 窗口才能使用,因此服务端可能用 windows server 比较方便。
源代码在这里
实现的效果大概是这样:
42.193.15.241/?blockid=20200812220555-lj3enxa
上面那个链接就是通过这种方式进行的分享,相当于让思源做了服务端渲染
相对导出后分享主要的好处是主程序编辑内容之后可以立刻在访问分享链接时反映出来,改进下程序也可以加上文档树、反链等等,而且可以关闭局域网伺服功能,只通过暴露出来的端口进行内容发布。
坏处就是比较占资源。
需要改进的地方就是转发外部请求的时候可能还需要对请求地址进行一下过滤(比如不允许访问思源的 api),也可以加上文档属性过滤,只允许访问特定属性的文档。
实际上可能更好的做法时另外用一个独立的程序进行分享,当思源进程存活的时候向它请求数据,否则就返回缓存结果。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于