{"id":19230142,"url":"https://github.com/yangwenmai/pg","last_synced_at":"2025-06-22T07:05:10.187Z","repository":{"id":57487911,"uuid":"130037231","full_name":"yangwenmai/pg","owner":"yangwenmai","description":"研发团队的工程效率实践-《如何通过Gitlab+七牛云存储来构建在线产品需求文档》","archived":false,"fork":false,"pushed_at":"2018-05-03T08:26:09.000Z","size":611,"stargazers_count":17,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-15T10:59:32.094Z","etag":null,"topics":["axure","dingding-bot","fasthttp","gitlab","go","qiniu","qshell","slack-bot","webhook"],"latest_commit_sha":null,"homepage":"http://gitbook.cn/gitchat/activity/5ad6f86c6739434fdf5b7251","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yangwenmai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-18T09:21:59.000Z","updated_at":"2024-06-13T08:59:53.000Z","dependencies_parsed_at":"2022-08-29T13:31:07.350Z","dependency_job_id":null,"html_url":"https://github.com/yangwenmai/pg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yangwenmai/pg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fpg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fpg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fpg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fpg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yangwenmai","download_url":"https://codeload.github.com/yangwenmai/pg/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fpg/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261250276,"owners_count":23130541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axure","dingding-bot","fasthttp","gitlab","go","qiniu","qshell","slack-bot","webhook"],"created_at":"2024-11-09T15:37:02.506Z","updated_at":"2025-06-22T07:05:05.157Z","avatar_url":"https://github.com/yangwenmai.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pg\n[![Build Status](https://travis-ci.org/yangwenmai/pg.svg?branch=master)](https://travis-ci.org/yangwenmai/pg) [![Go Report Card](https://goreportcard.com/badge/github.com/yangwenmai/pg)](https://goreportcard.com/report/github.com/yangwenmai/pg)  [![Documentation](https://godoc.org/github.com/yangwenmai/pg?status.svg)](http://godoc.org/github.com/yangwenmai/pg) [![Coverage Status](https://coveralls.io/repos/github/yangwenmai/pg/badge.svg?branch=master)](https://coveralls.io/github/yangwenmai/pg?branch=master) [![GitHub issues](https://img.shields.io/github/issues/yangwenmai/pg.svg?label=Issue)](https://github.com/yangwenmai/pg/issues) [![license](https://img.shields.io/github/license/yangwenmai/pg.svg)](https://github.com/yangwenmai/pg/blob/master/LICENSE) [![Release](https://img.shields.io/github/release/yangwenmai/pg.svg?label=Release)](https://github.com/yangwenmai/pg/releases) [![star this repo](http://githubbadges.com/star.svg?user=yangwenmai\u0026repo=pg)](http://github.com/yangwenmai/pg) [![fork this repo](http://githubbadges.com/fork.svg?user=yangwenmai\u0026repo=pg)](http://github.com/yangwenmai/pg/fork)\n\n## Stargazers over time\n\n[![Stargazers over time](https://starcharts.herokuapp.com/yangwenmai/pg.svg)](https://starcharts.herokuapp.com/yangwenmai/pg)\n\n一步一步教你搭建属于你或你们团队的在线文档。\n\n\u003e研发团队的工程效率的实践。\n\n关键词：`Axure`, `Gitlab`, `Github`, `七牛`, `fasthttp`.\n\n### 目标 ###\n\n1. 快速将 HTML 页面生成一个可预览的在线地址；\n2. HTML 页面也能够被版本管理系统管理起来（Gitlab, Github, Coding, 码云等）；\n  - 每一次改动都有迹可循，别以为你偷偷改产品文档我们就不知道了。\n3. 能够及时同步新增和变更需求；\n\n### 典型的应用场景 ###\n\n产品经理的在线文档，简单的流程如下：\n\n+ 产品经理撰写需求文档\n+ 提交到 gitlab\n+ 触发 Gitlab Webhook\n+ 触发 pg 的处理接口(拉取项目需求文档到服务器-使用 qshell 上传需求文档到 qiniu bucket)\n+ 通过钉钉机器人通知相关群组。\n\n### 其他更多的应用场景 ###\n\n最新公告，用户帮助，升级说明等。\n\n**对于日常的产品需求文档变更，只需要做一件事情：**\n\n  * 需求文档修改完成之后，Push 到 gitlab 即可。\n\n## 安装\n\n```shell\ngo build\n```\n\n## 运行\n\n\n```shell\n./pg -base_url \"http://xxxxx.bkt.clouddn.com/\" -qiniu_bucket \"my-pg\" -access_key \"xxxxxx\" -secret_key \"xxxxxx\" -qshell_path \"/Users/yourname/xxx_tools/qshell-v2.1.7/qshell\" -json_path \"/Users/yourname/xxx_data/pg-test/json\" -prd_path \"/Users/yourname/xxx_data/pg-test/prd\"\n```\n\n# 参考资料\n\n1. [一键生成 Github Go 项目 - gpt](https://github.com/yangwenmai/gpt)\n2. [针对本项目的详细阐述博文](https://maiyang.me/2018/04/19/pg-guide/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangwenmai%2Fpg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyangwenmai%2Fpg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangwenmai%2Fpg/lists"}