benweet/stackedit

README

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
NEW! Embed StackEdit in any website with stackedit.js
NEW! Chrome extension that uses stackedit.js
Community

Build


  1. ``` shell
  2. # install dependencies
  3. npm install

  4. # serve with hot reload at localhost:8080
  5. npm start

  6. # build for production with minification
  7. npm run build

  8. # build for production and view the bundle analyzer report
  9. npm run build --report
  10. ```

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.

  1. ``` shell
  2. # Add the StackEdit Helm repository
  3. helm repo add stackedit https://benweet.github.io/stackedit-charts/

  4. # Update your local Helm chart repository cache
  5. helm repo update

  6. # Deploy StackEdit chart to your cluster
  7. helm install --name stackedit stackedit/stackedit \
  8.   --set dropboxAppKey=$DROPBOX_API_KEY \
  9.   --set dropboxAppKeyFull=$DROPBOX_FULL_ACCESS_API_KEY \
  10.   --set googleClientId=$GOOGLE_CLIENT_ID \
  11.   --set googleApiKey=$GOOGLE_API_KEY \
  12.   --set githubClientId=$GITHUB_CLIENT_ID \
  13.   --set githubClientSecret=$GITHUB_CLIENT_SECRET \
  14.   --set wordpressClientId=\"$WORDPRESS_CLIENT_ID\" \
  15.   --set wordpressSecret=$WORDPRESS_CLIENT_SECRET
  16. ```

Later, to upgrade StackEdit to the latest version:

  1. ``` shell
  2. helm repo update
  3. helm upgrade stackedit stackedit/stackedit
  4. ```

If you want to uninstall StackEdit:

  1. ``` shell
  2. helm delete --purge stackedit
  3. ```

If you want to use your existing ingress controller and cert-manager issuer:

  1. ``` shell
  2. # See https://docs.cert-manager.io/en/latest/tutorials/acme/quick-start/index.html
  3. helm install --name stackedit stackedit/stackedit \
  4.   --set dropboxAppKey=$DROPBOX_API_KEY \
  5.   --set dropboxAppKeyFull=$DROPBOX_FULL_ACCESS_API_KEY \
  6.   --set googleClientId=$GOOGLE_CLIENT_ID \
  7.   --set googleApiKey=$GOOGLE_API_KEY \
  8.   --set githubClientId=$GITHUB_CLIENT_ID \
  9.   --set githubClientSecret=$GITHUB_CLIENT_SECRET \
  10.   --set wordpressClientId=\"$WORDPRESS_CLIENT_ID\" \
  11.   --set wordpressSecret=$WORDPRESS_CLIENT_SECRET \
  12.   --set ingress.enabled=true \
  13.   --set ingress.annotations."kubernetes\.io/ingress\.class"=nginx \
  14.   --set ingress.annotations."cert-manager\.io/cluster-issuer"=letsencrypt-prod \
  15.   --set ingress.hosts[0].host=stackedit.example.com \
  16.   --set ingress.hosts[0].paths[0]=/ \
  17.   --set ingress.tls[0].secretName=stackedit-tls \
  18.   --set ingress.tls[0].hosts[0]=stackedit.example.com
  19. ```