ArtiPub

2023-05-16

ArtiPub

ArtiPub (Article Publisher的简称,意为"文章发布者")是一款开源的一文多发平台,可以帮助文章作者将编写好的文章自动发布到掘金、SegmentFault、CSDN、知乎、开源中国等技术媒体平台,传播优质知识,获取最大的曝光度。ArtiPub安装简单,提供了多种安装方式,可以一键安装使用,安装一般只要5分钟。

ArtiPub目前支持文章编辑、文章发布、数据统计的功能,后期我们会加入存量文章导入、数据分析的功能,让您更好的管理、优化您的技术文章。此外,我们还会接入更多媒体渠道,真正做到让文章随处可阅。

预览截图

平台管理

文章管理

文章编辑

文章发布

Chrome插件

安装要求

Docker安装

  • Docker: 18.03
  • Docker Compose: 1.24.1

NPM或源码安装

  • MongoDB: 3.6+
  • NodeJS: 8.12+

安装方式

ArtiPub提供3种安装方式如下。

  • Docker (大约5分钟): 适合对Docker有一定基础的开发者
  • npm (大约3分钟): 适合熟悉Node.js或npm的开发者
  • 源码 (大约5-10分钟): 适合希望了解内核原理的开发者

通过Docker安装

通过Docker,可以免去安装MongoDB的步骤,也是我们最推荐的安装方式。使用Docker安装ArtiPub前,请确保您安装了Docker以及Docker Compose。

在您的项目目录下创建docker-compose.yaml文件,输入如下内容。

version: '3.3'
services:
  app:
    image: "tikazyq/artipub:latest"
    environment:
      MONGO_HOST: "mongo"
      ARTIPUB_API_ADDRESS: "localhost:3000" # 后端API地址,如果安装地址不在本机,请修改为服务器IP地址+端口号(默认为3000)
    ports:
      - "8000:8000" # frontend
      - "3000:3000" # backend
    depends_on:
      - mongo
  mongo:
    image: mongo:latest
    restart: always
    ports:
      - "27017:27017"

然后在命令行中输入如下命令。

docker-compose up

然后在浏览器中输入http://localhost:8000可以看到界面。

注意⚠️,如果您的Docker宿主机不是本机,例如您用了Docker Machine或者Docker服务在其他机器上,您需要将环境变量ARTIPUB_API_ADDRESS改为宿主机IP+端口号(默认3000)。然后,在浏览器输入http://<宿主机IP>:8000即可看到界面。

通过npm包安装

如果您对npm熟悉,且已经有MongoDB的环境,这是最为快捷的方式。

安装npm包

npm install -g artipub

安装npm包时,为了加速下载速度,可以加入--registry参数来设置镜像源(后面源码安装时也可以这样操作)

npm install -g artipub --registry=https://registry.npm.taobao.org

运行ArtiPub

artipub start

该命令默认会使用localhost:27017/artipub为MongoDB数据库链接。输入如下命令可以看更多配置,例如配置数据库等。

artipub -h

成功运行后,在浏览器中输入http://localhost:8000可以看到界面。

通过源码安装

克隆Github Repo

git clone https://github.com/crawlab-team/artipub

安装npm包

cd artipub
npm install

启动前端

npm run start:frontend

启动后端

npm run start:backend

配置数据库

数据库的配置在./config.js中,可以按情况配置。

配置后端API地址

如果您部署的服务不在本机,需要在./src/config/config.ts中将apiEndpoint改成对应的IP地址+端口。

为什么创建ArtiPub

程序员和技术人员常常会写技术文章和博客,用作技术分享、产品分享或提供咨询等等。技术博主通常需要在多个媒体渠道发布文章,例如掘金、SegmentFault、CSDN、知乎、简书、微信公众号等等,以求最大的关注度。但是,发布文章到这么多平台费时费神,需要不断地复制粘贴;同时,作者想查看阅读数时还需要来回切换各个网站来进行统计。这非常不方便。ArtiPub主要就是为了来解决上述这些问题的。

市面上已经存在一文多发平台了,例如OpenWrite,为何还要创建ArtiPub呢?或许其他一文多发平台也是一个替代方案,但它们要求用户将自己的账户信息例如Cookie或账号密码上传到对方服务器,这很不安全,一旦平台发生问题,自己的账户信息会遭到泄漏。虽然我相信一般平台不会恶意操作用户的账户,但如果出现误操作,您的账户隐私将遭到泄漏,平台上的财产也可能遭到损坏,有这样的风险需要考虑。ArtiPub不要求用户上传账户信息,所有账户信息全部保存在用户自己的数据库里,因此规避了这个安全风险。

另外,由于ArtiPub是开源的,JS源码也比较易于理解,可扩展性很强,用户如果有其他平台的接入需求,完全可以更改源码来实现自己的需求,不用等待平台更新。开发组也将持续开发ArtiPub,将其打造得更实用和易用。

支持平台

  • [x] 掘金
  • [x] SegmentFault
  • [x] CSDN
  • [x] 简书
  • [x] 知乎
  • [x] 开源中国
  • [x] 今日头条
  • [x] 博客园
  • [ ] 微博
  • [ ] 百度百家号
  • [ ] 51CTO
  • [ ] 开发者头条
  • [ ] 微信公众号

贡献代码

非常欢迎优秀的开发者来贡献ArtiPub。在提Pull Request之前,请首先阅读源码,了解原理和架构。如果不懂的可以加作者微信 tikazyq1 注明 ArtiPub。

社区

如果您觉得 ArtiPub 对您有帮助,请扫描下方群二维码,如果群满,请加作者微信 tikazyq1 并注明"ArtiPub",作者会将你拉入群。

<p align="center"> <img src="https://raw.githubusercontent.com/tikazyq/my-static-files/master/artipub/wechat-group.jpg" height="360"> <img src="https://raw.githubusercontent.com/tikazyq/my-static-files/master/artipub/wechat-profile.jpg" height="360"> </p>


本篇文章由一文多发平台ArtiPub自动发布

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArtiPub 的相关文章

随机推荐

  • Java中提升接口性能的一些方法

    目录 1 使用线程池并行执行2 数据库优化2 1 小表关联大表2 2 反三大范式操作2 3 增加索引2 4 减小事务粒度2 5 读写分离 分库分表 3 拥抱缓存3 1 Redis3 2 内存缓存 4 锁和异步4 1 减小锁的粒度4 2 分布
  • PX4飞控学习(三)

    启动脚本 span class hljs shebang nsh span span class hljs comment Un comment and use set 43 e to ignore and set e to enable
  • SpringBoot中有几种定义Bean的方式?

    目录 1 64 Bean2 64 Component3 64 Controller 64 RestController 64 Service 64 Repository4 64 ControllerAdvice 64 RestControl
  • PostgreSQL(五)JDBC连接串常用参数

    目录 1 单机 PostgreSQL 连接串2 集群PostgreSQL 连接串 PostgreSQL JDBC 官方驱动下载地址 xff1a https jdbc postgresql org download PostgreSQL JD
  • java如何获得内网ip、外网ip、以及如何根据ip查询地址

    今天突发奇想地想要用java写一个小的工具类 用来实现如何获得本机的内网ip xff0c 外网ip和根据ip获得相应的地址 花了几个小时才弄清 xff0c 然后整理了一下 xff0c 希望有用 首先要明白以下三种ip地址的区别 xff1a
  • SpringMVC配置文件(spring-mvc.xml)

    springMVC主要有以下四个配置 xff1a 1 配置组件扫描 xff0c 必配 xff0c 组件扫描会扫描包下的所有的Controller类 lt 配置组件扫描 gt lt context component scan base pa
  • C++环境配置(MinGW的下载及安装)

    首先说明 xff1a MinGW就是gcc的安装工具 1 下载 MinGW的下载地址 xff1a www mingw org xff0c 点击右上角的Download Installer即可下载 2 安装mingw get setup ex
  • 如何使用imp导入dmp文件

    一 创建临时表空间 xff1a create temporary tablespace yd temp tempfile 39 D oracledata file temp dbf 39 路径根据实际情况填写 size 50m autoex
  • I2C设备主机与从机地址设置

    1 I2C主机与从机定义 I2C设备一般使用MCU作为主机 xff0c 主机与从机通过总线连接起来 xff0c 分别是SCL时钟总线和SDA数据总线 xff0c 主机发送给从机SCL时钟信号 xff0c SDA发送数据 xff0c 如下图所
  • EFM32jg之FreeRTOS(5)-任务调度、创建、切换

    64 EFM32JG移植FreeRTOS 1 任务调度器 1 xff09 创建空闲任务 xff0c 优先级为0 xff0c 表示最低优先级 xff0c 在无其他高优先级任务的情况下 xff0c 执行空闲任务 xff0c 若打开configU
  • 令人厌恶的错误MSB3721,以及win10,VS2019,YOLO V4 环境搭建

    总结一下yolo环境的搭建 xff0c 以及MSB3721的一种解决方案 xff0c 如果有相似的背景 xff0c 不妨一试 另外在搭建环境的过程中 xff0c 感觉最浪费时间的就是下载所需的安装包 xff0c 因为是外网 xff0c 速度
  • python&多路归并

    问题 xff1a 在项目中 xff0c 需从待分析的数据中选出最大的前几名 xff0c 但由于数据量太大 xff0c 直接排序会内存报错 xff0c 因此尝试用多路归并的思路来解决问题 接口 xff1a 一个目录下有x个已排序好的csv 最
  • PX4飞控学习(四)

    系统启动 启动文件 xff1a nuttx arch arm stm32 stm32 start c stm32 clockconfig span class hljs regexp span 时钟 stm32 fpuconfig span
  • VSCode 搭建 C++ 开发环境

    文章目录 前言一 获取参考资料二 下载安装 VSCode三 安装编译器四 添加环境变量五 使用VSCode 开发 C 43 43 程序总结 前言 鲁迅曾说过 xff0c 不以敲代码为目的的学编程都是耍流氓 xff01 我最近在撸 C 43
  • Ubuntu安装VMware

    Ubuntu安装VMware xff08 1 xff09 需求 由于windows 的日渐卡顿还有变态的更新 xff0c 我的需求就是稳定单调优化好所以我通过Ubuntu 安装VMware xff0c 然后开启虚拟机继续学习 xff08 2
  • python实现TCP通信

    本例是在Ubuntu虚拟机中本机互传实现的TCP通信 一 TCP服务器端 xff08 server端 xff09 1 创建套接字 xff0c 绑定套接字到本地IP与端口 s 61 socket socket socket AF INET s
  • agrc argv解释

    以前经常看见过 xff1a int main int argc char argv 这样形式的main但是一直没有这样用直到研究点云时发现有个例子是 xff1a gt exe pcd 这样的doc下的命令才想起有这样的两个参数 xff0c
  • 个人面试细节、技巧总结(没有面试题哦!)

    面试除了自身技能过硬外 xff0c 良好的沟通 xff0c 平和的心态 xff0c 细节的拿捏也都是额外的加分项 最后 xff0c 以些许运气加以点缀 xff0c offer 便八九不离十了 参加工作两年有余 xff0c 只大专文凭 xff
  • 【记录】ORB-SLAM3编译以及在realsense D435i运行

    环境 xff1a 最开始用的是源码是ORB SLAM3 的1 0版本 xff0c 但是编译的时候出错太多了 xff0c 超出了能力范围 xff0c 更换了0 4 beta版本 xff0c 但是这个版本在运行的时候会直接segmentatio
  • ArtiPub

    ArtiPub ArtiPub Article Publisher的简称 xff0c 意为 34 文章发布者 34 是一款开源的一文多发平台 xff0c 可以帮助文章作者将编写好的文章自动发布到掘金 SegmentFault CSDN 知乎