开源一文多发平台ArtiPub,让文章随处可阅
背景
很多优秀的程序员和技术人员喜欢写技术文章和技术博客,通过这样的方式分享传播知识和经验,扩大自己的知名度和影响力,吸引粉丝关注,甚至有些技术博主还通过写文章来获取广告收入,很多优秀的博主还通过这种方法获得了出版书的机会以及工作机会。因此,写技术文章是一件非常值得投入的事情,帮助了自己,也让大众受益。
但是,写技术文章通常也很耗时,特别是一些优质文章,不仅需要旁征博引、构思文章结构、照顾读者受众,还需要做很多前期工作,例如搭建环境、写demo代码、测试代码等等。一篇优质技术文章通常需要3-6个小时来完成。然而,花了很多时间来写文章,最终发布出来的文章得不到很多人的关注是一件相当令人沮丧的事情。我们认为,优质文章值得获取关注和传播,让更多的技术工作者通过阅读文章获取知识获益。
每个技术博主都有自己喜欢的技术媒体平台,例如掘金、CSDN、微信公众号等等。很多技术博主也喜欢将文章发布在不同的平台上,寻求最大的关注度,同时也防止自己辛辛苦苦写的文章被别人复制粘贴盗版过去。然而,在多个平台上发文是一件麻烦的事情:博主需要同时登陆多个媒体平台,将自己的文章复制一个一个粘贴过去;更麻烦的是,有些平台只支持Markdown,有些平台只支持富文本,博主需要在这两者之间来回转换,这增加了工作量。
一文多发平台ArtiPub就解决了这样的问题。下面我们将介绍一下近日刚上线的开源一文多发平台ArtiPub。
ArtiPub简介
ArtiPub (Article Publisher的简称,意为"文章发布者")是一款开源的一文多发平台,可以帮助文章作者将编写好的文章自动发布到掘金、SegmentFault、CSDN、知乎、开源中国等技术媒体平台,传播优质知识,获取最大的曝光度。ArtiPub安装简单,提供了多种安装方式(Docker、NPM、源码),可以一键安装使用,安装一般只要5分钟。
ArtiPub首发版目前支持文章编辑、文章发布、数据统计的功能,后期我们会加入存量文章导入、数据分析的功能,让您更好的管理、优化您的技术文章。此外,我们还会接入更多媒体渠道,真正做到让文章随处可阅。
用户使用ArtiPub也很简单,只需要在浏览器上打开ArtiPub的Web界面,将文章以Markdown的形式输入到编辑器,然后点击一键发布,等待不到1分钟,文章就自动同步到各大技术媒体平台了。此外,文章的阅读、点赞、评论数据还将周期性的被同步回来,让作者可以近实时看到文章的传播情况。
- Github: https://github.com/crawlab-team/artipub
- Docker: https://hub.docker.com/r/tikazyq/artipub
- NPM: https://www.npmjs.com/package/artipub
平台一览
下面是平台的Web界面截屏,当然我们更推荐您去实际安装体验ArtiPub。
平台管理
文章管理
文章编辑
文章发布
Chrome插件
与其他平台比较
市面上已经存在一文多发平台了,例如OpenWrite,为何还要创建ArtiPub呢?或许其他一文多发平台也是一个替代方案,但它们要求用户将自己的账户信息例如Cookie或账号密码上传到对方服务器,这很不安全,一旦平台发生问题,自己的账户信息会遭到泄漏。虽然我相信一般平台不会恶意操作用户的账户,但如果出现误操作,您的账户隐私将遭到泄漏,平台上的财产也可能遭到损坏,有这样的风险需要考虑。ArtiPub不要求用户上传账户信息,所有账户信息全部保存在用户自己的数据库里,因此规避了这个安全风险。
另外,由于ArtiPub是开源的,JS源码也比较易于理解,可扩展性很强,用户如果有其他平台的接入需求,完全可以通过更改源码来实现自己的需求,不用等待平台更新。开发组也将持续开发ArtiPub,将其打造得更实用和易用。
ArtiPub原理简介
其实ArtiPub的原理不复杂,简单来说就是利用了爬虫技术将文章发布到各大平台。ArtiPub的爬虫是用了Google开发的自动化测试工具Puppeteer,这个工具不仅可以获取需要有ajax动态内容的数据,还可以来做一些模拟操作,类似于Selenium,但更强大。如何进行登陆操作呢?其实ArtiPub是通过Chrome插件获取了用户登陆信息(Cookie),将Cookie注入到Puppeteer操作的Chromium浏览器中,然后浏览器就可以正常登陆网站进行发文操作了。Cookie是保存在用户自己搭建的MongoDB数据库里,不对外暴露,因此很安全。
下图是ArtiPub的架构示意图。
架构原理简介如下:
- 后端(Backend)是整个架构的中枢,负责给前端交换数据、储存读取数据库、控制爬虫、收集Cookie等;
- Chrome插件(Chrome Extension)只负责从网站(Sites)获取Cookie;
- 爬虫(Spiders)被后端控制,负责在网站上发布文章和抓取数据;
- 数据库(MongoDB)负责储存数据;
- 前端(Frontend)是一个React应用,是Ant Design Pro改造而来的。
总结
总的来说,ArtiPub解决了用户需要多平台发布文章、又不想泄漏账户信息的痛点。用户完全可以免费的使用ArtiPub,因为它是开源的,架构原理也很透明,开发者也可以自己去贡献该开源项目。ArtiPub很实用,作者已经将一些存量文章都发布到各个可用平台上了,效果还不错。甚至,本篇文章也是用ArtiPub编写和发布的,想要尝试的话,请到Github、Docker、NPM主页上安装体验。
如果您觉得 ArtiPub 对您有帮助,请扫描下方群二维码,如果群满,请加作者微信 tikazyq1 并注明"ArtiPub",作者会将你拉入群。
本篇文章由一文多发平台ArtiPub自动发布

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
通俗话说一说各种Normalization以及用deeplearning4j实现Layer Normalization
一、Normalization是什么 Normalization一句话概括来说就是用一种办法,将一组数据压到均值为0,方差为1的正态分布上去,具体做法是数据集的每一个元素减去均值再除以标准差。公式如下:(请忽略参数g,g的问题很诡异,后面说) 这个公式说的更直白一点就是,把每一个a,经过平移和缩放,得到一个新值。而这样做的一个理由是,平移缩放并不会改变原始数据的分布情况,原来最大的还是最大,原来最小的还是最小。 Deeplearning中有很多Normalization的方法,有BN、LN、IN、GN等等,每一种Normalization公式都一样,只是沿着的轴不一样,BN就是沿着minibatch方向,LN就是沿着影藏层的output vector维方向,举个例子,对于四维张量[minibatch,depth、height、width],那就是沿着depth方向,把height、width维约简掉。 二、说说LayerNormalization 论文地址:https://arxiv.org/pdf/1607.06450.pdf LayerNormalization对于...
- 下一篇
深入理解 Spring 事务原理
Spring事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: 获取连接 Connection con = DriverManager.getConnection() 开启事务con.setAutoCommit(true/false); 执行CRUD 提交事务/回滚事务 con.commit() / con.rollback(); 关闭连接 conn.close(); 使用Spring的事务管理功能后,我们可以不再写步骤 2 和 4 的代码,而是由Spirng 自动完成。那么Spring是如何在我们书写的 CRUD 之前和之后开启事务和关闭事务的呢?解决这个问题,也就可以从整体上理解Spring的事务管理实现原理了。下面简单地介绍下,注解方式为例子 配置文件开启注解驱动,在相关的类和方法上通过注解@Transactional标识。 spring 在启动的时候会去解析生成相关的bean,这时候会查看拥有相关注解的类和方法,并且为这些类和方法生成代理,并根据...
相关文章
文章评论
共有0条评论来说两句吧...