From b0fb4a7529fd764875611925ce2b382a6cf5cb84 Mon Sep 17 00:00:00 2001 From: okxlin Date: Mon, 4 Sep 2023 01:46:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0stackedit=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8(=E6=84=9F=E8=B0=A2=E7=BD=91=E5=8F=8B?= =?UTF-8?q?=E5=8C=85=E5=AD=90=E5=8F=94=E7=9A=84=E6=8A=95=E7=A8=BF)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/stackedit/5.15.4/.env.sample | 3 + apps/stackedit/5.15.4/data.yml | 17 ++++ apps/stackedit/5.15.4/docker-compose.yml | 18 +++++ apps/stackedit/README.md | 96 +++++++++++++++++++++++ apps/stackedit/data.yml | 20 +++++ apps/stackedit/latest/.env.sample | 3 + apps/stackedit/latest/data.yml | 17 ++++ apps/stackedit/latest/docker-compose.yml | 18 +++++ apps/stackedit/logo.png | Bin 0 -> 4547 bytes 9 files changed, 192 insertions(+) create mode 100644 apps/stackedit/5.15.4/.env.sample create mode 100644 apps/stackedit/5.15.4/data.yml create mode 100644 apps/stackedit/5.15.4/docker-compose.yml create mode 100644 apps/stackedit/README.md create mode 100644 apps/stackedit/data.yml create mode 100644 apps/stackedit/latest/.env.sample create mode 100644 apps/stackedit/latest/data.yml create mode 100644 apps/stackedit/latest/docker-compose.yml create mode 100644 apps/stackedit/logo.png diff --git a/apps/stackedit/5.15.4/.env.sample b/apps/stackedit/5.15.4/.env.sample new file mode 100644 index 00000000..5e18201b --- /dev/null +++ b/apps/stackedit/5.15.4/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="stackedit" +PANEL_APP_PORT_HTTP="40149" +DATA_PATH="./data" diff --git a/apps/stackedit/5.15.4/data.yml b/apps/stackedit/5.15.4/data.yml new file mode 100644 index 00000000..654ba3bd --- /dev/null +++ b/apps/stackedit/5.15.4/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 40149 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text diff --git a/apps/stackedit/5.15.4/docker-compose.yml b/apps/stackedit/5.15.4/docker-compose.yml new file mode 100644 index 00000000..75e840a8 --- /dev/null +++ b/apps/stackedit/5.15.4/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' +services: + stackedit: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + volumes: + - "${DATA_PATH}:/data" + image: benweet/stackedit:v5.15.4 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/stackedit/README.md b/apps/stackedit/README.md new file mode 100644 index 00000000..f22a1262 --- /dev/null +++ b/apps/stackedit/README.md @@ -0,0 +1,96 @@ +# 使用说明 + +- 注意 镜像高达 `6g` + +# 原始相关 +*** + +# StackEdit + +[![Build Status](https://img.shields.io/travis/benweet/stackedit.svg?style=flat)](https://travis-ci.org/benweet/stackedit) [![NPM version](https://img.shields.io/npm/v/stackedit.svg?style=flat)](https://www.npmjs.org/package/stackedit) + +> Full-featured, open-source Markdown editor based on PageDown, the Markdown library used by Stack Overflow and the other Stack Exchange sites. + +https://stackedit.io/ + +### Ecosystem + +- [Chrome app](https://chrome.google.com/webstore/detail/iiooodelglhkcpgbajoejffhijaclcdg) +- NEW! Embed StackEdit in any website with [stackedit.js](https://github.com/benweet/stackedit.js) +- NEW! [Chrome extension](https://chrome.google.com/webstore/detail/ajehldoplanpchfokmeempkekhnhmoha) that uses stackedit.js +- [Community](https://community.stackedit.io/) + +### Build + +```bash +# install dependencies +npm install + +# serve with hot reload at localhost:8080 +npm start + +# build for production with minification +npm run build + +# build for production and view the bundle analyzer report +npm run build --report +``` + +### Deploy with Helm + +StackEdit Helm chart allows easy StackEdit deployment to any Kubernetes cluster. +You can use it to configure deployment with your existing ingress controller and cert-manager. + +```bash +# Add the StackEdit Helm repository +helm repo add stackedit https://benweet.github.io/stackedit-charts/ + +# Update your local Helm chart repository cache +helm repo update + +# Deploy StackEdit chart to your cluster +helm install --name stackedit stackedit/stackedit \ + --set dropboxAppKey=$DROPBOX_API_KEY \ + --set dropboxAppKeyFull=$DROPBOX_FULL_ACCESS_API_KEY \ + --set googleClientId=$GOOGLE_CLIENT_ID \ + --set googleApiKey=$GOOGLE_API_KEY \ + --set githubClientId=$GITHUB_CLIENT_ID \ + --set githubClientSecret=$GITHUB_CLIENT_SECRET \ + --set wordpressClientId=\"$WORDPRESS_CLIENT_ID\" \ + --set wordpressSecret=$WORDPRESS_CLIENT_SECRET +``` + +Later, to upgrade StackEdit to the latest version: + +```bash +helm repo update +helm upgrade stackedit stackedit/stackedit +``` + +If you want to uninstall StackEdit: + +```bash +helm delete --purge stackedit +``` + +If you want to use your existing ingress controller and cert-manager issuer: + +```bash +# See https://docs.cert-manager.io/en/latest/tutorials/acme/quick-start/index.html +helm install --name stackedit stackedit/stackedit \ + --set dropboxAppKey=$DROPBOX_API_KEY \ + --set dropboxAppKeyFull=$DROPBOX_FULL_ACCESS_API_KEY \ + --set googleClientId=$GOOGLE_CLIENT_ID \ + --set googleApiKey=$GOOGLE_API_KEY \ + --set githubClientId=$GITHUB_CLIENT_ID \ + --set githubClientSecret=$GITHUB_CLIENT_SECRET \ + --set wordpressClientId=\"$WORDPRESS_CLIENT_ID\" \ + --set wordpressSecret=$WORDPRESS_CLIENT_SECRET \ + --set ingress.enabled=true \ + --set ingress.annotations."kubernetes\.io/ingress\.class"=nginx \ + --set ingress.annotations."cert-manager\.io/cluster-issuer"=letsencrypt-prod \ + --set ingress.hosts[0].host=stackedit.example.com \ + --set ingress.hosts[0].paths[0]=/ \ + --set ingress.tls[0].secretName=stackedit-tls \ + --set ingress.tls[0].hosts[0]=stackedit.example.com +``` diff --git a/apps/stackedit/data.yml b/apps/stackedit/data.yml new file mode 100644 index 00000000..8b7d753b --- /dev/null +++ b/apps/stackedit/data.yml @@ -0,0 +1,20 @@ +name: StackEdit +tags: + - 工具 +title: 浏览器里的全功能开源 Markdown 编辑器 +type: 工具 +description: 浏览器里的全功能开源 Markdown 编辑器 +additionalProperties: + key: stackedit + name: StackEdit + tags: + - Tool + shortDescZh: 浏览器里的全功能开源 Markdown 编辑器 + shortDescEn: In-browser Markdown editor + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://stackedit.io + github: https://github.com/benweet/stackedit + document: https://github.com/benweet/stackedit diff --git a/apps/stackedit/latest/.env.sample b/apps/stackedit/latest/.env.sample new file mode 100644 index 00000000..5e18201b --- /dev/null +++ b/apps/stackedit/latest/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="stackedit" +PANEL_APP_PORT_HTTP="40149" +DATA_PATH="./data" diff --git a/apps/stackedit/latest/data.yml b/apps/stackedit/latest/data.yml new file mode 100644 index 00000000..654ba3bd --- /dev/null +++ b/apps/stackedit/latest/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 40149 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text diff --git a/apps/stackedit/latest/docker-compose.yml b/apps/stackedit/latest/docker-compose.yml new file mode 100644 index 00000000..0e24039d --- /dev/null +++ b/apps/stackedit/latest/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' +services: + stackedit: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + volumes: + - "${DATA_PATH}:/data" + image: benweet/stackedit:latest + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/stackedit/logo.png b/apps/stackedit/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9bf88fb32fc907d76752361cc1f156950516cb7c GIT binary patch literal 4547 zcmchb`8yPf_s5lGY$L)@w#L3Q*6cNe3KhzlaT{y)>+qd6MxgD?1d-hheSZ{TJBVIKF6MC&E2GOPQsB%i-mw5I+`fmrff@6_?;&3rtO>v$=A+GApx!Ao5uC?jro1 zIqf+a_e`A%h>Py62&jPpn(G_eOBOEyBMfgr7hV&u_V(bdpn;PUd)ZWCqwlwx_u=@~ zjK^leT(fLC7kx}dmJK2xXA3&X17e3V!98q+?Q9E_8ZH$6vfL69AiAra7YYzp{{6c~ zaTg!-?tO|}BAcm5C$WlIGW_62C0vhBSuSJAj0x)^7w)o`^lXjm$+I!!#t|@F$KO)V zH4o$nFk9XBswUQF_5Bqv$IQI8O5dSH0!Vh(pfvwwHvaMuQN=JIw+)A~?NhZjkCsyQ zCt_D9w&|Q*%hd1fl}Bxt+OAz$c{Uw=4^Q2Q7af5J2M6BXtR{8be&R_7+P|}tFyP? zj&+I-)Y)wH0Rcy+l z_yv8@Use`QRq40FnnvlHkrIEQD;<*EmiJ3hc@s14H0T4hqJZ4PjQ0vl0;t@{!Kfq0 z2j-N^p|eEB6Ik>&>vZ_+gU&<0-6B%?{W9NY*RIFcTXgGKt*%V^j8jbgAs-uAx(3HN zIE`O1+~@ADB=FmGromf0g~Fa&>`R8~*GlOz@FR=Fb7$P*(1lIXt6s80utV_I>oZ${;cRbVM$U~qA5>5| zsL^@Lxmxm-*Y9_C!w1w>-SSF<=)@b4rl)t_!IG@_(VAbPJ#hcIgrso( zP=vl=lb=1XgXL++WWb`#JO9nK`AI8u#}yA%O<5~f!pnn`G`_NPmR>{Y?mh!W7_=G- zc7VoxbO=CbzIZc<@3k@=zHw&$j#a7+Og_2gm3ps%W@_+13B<0t84wR>?ONfuX2QTN*)62@GOUjtps4VEWVg`Tivaj1ImcniXM4_<#iZ^+fvi25EO zD%*B96H+`jI*ds2u~!|cw|rTZlS%6S+DcTAOUfSkb+q^OcKkL2jp->-c;!$pr}NFq z^vF8?zThCTKA)H@V{c2)Tuxw9u}?xnT9dn?aE3TGT5=5aFt$!Z zO1c{QVPNP}lH7DEM^k40ogBpc;=O9a%pA#i^J3W}ykA`7%G#P#p5J)4SU$y5?NOA_^W#wcN%@ z?9`fkd`SRwj!}!fE8?DDU0SJGzW49{*yz}dFru!GH>CH41}(LO{j`0edUrL3IGT5c z_BVW#)MQ?$*F})ZB>Iw~5U7yn!YX|a9v~zY9T@XI;98sAqXSD!mJ@j_4SV}{;W@Uh z&}<=$&@xxQ>|XVhr`d-u1{FDGy()v4h<-0= zN}BI>RkIuTC^%kbQi#EdWxd>Z6kV2I0RHvk!~pEraFAPlId;u%JTQ4CM}K<#q3;(B z2Xk+}%)yO!b(-V1lGDc_CK`3<1s(Ew|7hnOres^no$}@7o0lQAV;)^v%WRb6wl1Fa z*f{U-Pm}Ry1O@Kd-qz|DSMq)b3}dWojCh0X9o`-Lg5|ADmC53cz(D31PNVnUU?h-o z)LE(iI=HfTZHBE~aEjKb3Vue|#3VuOS*B0PQgz5!GV64%`9&kh?(4~jH;Y%|wg==6 zwujV03DWrkoeQFdQMuy{4jrVDATa=5B&hSf!6ssTr?j`oB*D1h4)#Hr1H1VES3q&C zQrq_YMVrfnfsf6~%1X2r|Jt9?N*-V)*6%hByaawe=bN1WLdN4ByLVAr_dqJn1)8-u zT;WVd^X*(Pm?V zPATetB4mq9z6*hqivF|^*tYZ}i7MDErTMl}K=MBzldu+hu)Vaqx3`oPO`D0F#Q8ap zic(V88hegoDA5$G%hO1aWE7WBbMX9!QV0%*YYgRluMmy#{#;zB>&4h#kA^EMDsBgI z=BNK99E~d1@XV-#pngcHr2gjyrh!}_}_Rjom~fcs_c~H>7)mz6449)Y)M`! z3`4P3c51G!T;PBwzZFfgO(Xw*@u4WUxePL37ly%(rQfUL9efzIk?qQ5K7z8zAfF~z zFdl7#vZ}adL{6$E6p$Kojwcg~3hiXM9~D9dsGDq}=buT81)^*YtjXgi_1{fdQ4^(a^z}F>dVAkuU3wu-*i;gbO9!e&cd;LF=I$ijQ$>#spV@@< z%_sNl+CIDKg?LTlHHeHu%@-ld%x>1hwjNL8$PKD>{874VmsI~8>=VRv7^IMN z_2_UxDa)n__uJ{r5ev&xr%3!O@JLtoKBeix>{0q7TjW-4>l*K7&u>k-J}qljE;d*H zD9Umb_PgF9wDeF3qh&3!e~702BnQYI6i!;2kfH)t1hw3L%ZGa()mQBB5)w@-y866T z)*yEJAU<1XWHm^p=E|$L>`y>O2ikus%N`Kve2FB~w!v_JB72-)Gqi0>;KJgXmFNaV ztX#Q(*v{;%VPml-w!7&zym(zg%5Yv3R>Sd0F62e zEl6WvKU27YzrK0xr`TC3A&F9tAZa%>H+k-p7<}e02R7R{SP82pgpo&-(5UGK>422s z?w?LNb5>#$zca?$3~LzUhS~u@mK5)aA%^^5U_GzF5Dl8c*iz<>e+pLI`U0rgudAt z*cKR5IjU#$T17n;JOY&4{}G0Rmt9P%LB0O7sgd{M=f3UXeGT`=YC$5eaAcq{$z3>+ z+c89DOK5h{AWym^Lt&?%1{B#X?;^j^T{+;AB0uEScM4EW8f$^8yIVPKEtnMXMbUEb zc2kj{9eRrOVVrfTL`B|kE2bjP3ADnGFy-gcXg`dhv@qT$UT|$j^MiyvC z=8Eg*XE%Lu7F)K>a}pEX%@Wshs5sm!*VnG&*mav}6F)LQe$wU0$ zefvJNtVYB8dUX56b&JU7Kk*OUT*yNXto-!iAb3x6-a(!~2b@DTgLq$E9*0)Kca5D( z?8_!JE||l2Rtujl3V$ z-RE2`oEF?+UXFJ5P!;LCR`vxt=A2qlyw{6urIVZ#q0C_>glw<0gw}9HGcWCa1?@W3 zt;>qHJR@figu4O5OJZ6M-L_}X&wVtx>Fw89${m94f63NX!^0oK=4_hNhWIf93kQ&H z--p)yg!OW|EHCqnWfGT$eQcR$Qt}Vo){QJqe;(}JE_gxqJ^N@|7jJalK7+Vq?Yvq5 z5@+(ZUh3*P12VLz=K{JLB{k|DwrvEf{K8gA^AVCh^Gqd77jNa0AHA%yvi1ar$&z|Y zf&aMpTA}}Q@!T6FTcPX5K_by~%-=|x1;Z>h*VC@dh}e}74m->T2aNjFvdC7Of^ph(ca^5f*x!*O!G_@}u3KVKQ9t5