Merge branch 'master' into dev
This commit is contained in:
commit
0afdaa557f
13
.travis.yml
13
.travis.yml
@ -1,3 +1,16 @@
|
||||
language: node_js
|
||||
|
||||
node_js:
|
||||
- "8"
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
before_deploy:
|
||||
- docker build -t benweet/stackedit .
|
||||
|
||||
deploy:
|
||||
provider: script
|
||||
script: bash build/docker-push-tag.sh
|
||||
on:
|
||||
tags: true
|
||||
|
7
build/docker-push-tag.sh
Normal file
7
build/docker-push-tag.sh
Normal file
@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
docker login -u benweet -p "$DOCKER_PASSWORD"
|
||||
docker tag benweet/stackedit "benweet/stackedit:$TRAVIS_TAG"
|
||||
docker push benweet/stackedit:$TRAVIS_TAG
|
||||
docker tag benweet/stackedit:$TRAVIS_TAG benweet/stackedit:latest
|
||||
docker push benweet/stackedit:latest
|
7
index.js
7
index.js
@ -18,3 +18,10 @@ const httpServer = http.createServer(app);
|
||||
httpServer.listen(port, null, () => {
|
||||
console.log(`HTTP server started: http://localhost:${port}`);
|
||||
});
|
||||
|
||||
// Handle graceful shutdown
|
||||
process.on('SIGTERM', () => {
|
||||
httpServer.close(() => {
|
||||
process.exit(0);
|
||||
});
|
||||
});
|
||||
|
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "stackedit",
|
||||
"version": "5.10.2",
|
||||
"version": "5.10.5",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "stackedit",
|
||||
"version": "5.10.2",
|
||||
"version": "5.10.5",
|
||||
"description": "Free, open-source, full-featured Markdown editor",
|
||||
"author": "Benoit Schweblin",
|
||||
"license": "Apache-2.0",
|
||||
|
@ -75,7 +75,7 @@ export default {
|
||||
}),
|
||||
computed: {
|
||||
panel() {
|
||||
return this.$store.getters['data/layoutSettings'].sideBarPanel;
|
||||
return !this.$store.state.light && this.$store.getters['data/layoutSettings'].sideBarPanel;
|
||||
},
|
||||
panelName() {
|
||||
return panelNames[this.panel];
|
||||
|
@ -13,7 +13,9 @@
|
||||
StackEdit on <a target="_blank" href="https://twitter.com/stackedit/">Twitter</a>
|
||||
<br>
|
||||
<a target="_blank" href="https://community.stackedit.io/">Community</a>
|
||||
<hr>
|
||||
<div class="modal__info">
|
||||
For commercial support or custom development, please <a href="mailto:stackedit.project@gmail.com">send us an email</a>.
|
||||
</div>
|
||||
<h3>FAQ</h3>
|
||||
<div class="faq" v-html="faq"></div>
|
||||
<hr>
|
||||
|
@ -1,14 +1,17 @@
|
||||
**Where is my data stored?**
|
||||
|
||||
If your workspace is not synced, your files are only stored inside your browser (using the [IndexedDB API](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)) and are not stored anywhere else.
|
||||
|
||||
We recommend syncing your workspace to make sure files won't be lost in case your browser data is cleared.
|
||||
|
||||
**Where is my data stored once I sync my workspace?**
|
||||
|
||||
If you sign in with Google, your main workspace will be stored in Google Drive (in your [app data folder](https://developers.google.com/drive/v3/web/appdata)).
|
||||
|
||||
If you open a Google Drive workspace, the files in the workspace will be stored inside a Google Drive folder which you can share with other users.
|
||||
|
||||
If you open a CouchDB workspace, the files in the workspace will be stored in the CouchDB database which can be hosted on premises for privacy concerns.
|
||||
|
||||
**Can StackEdit access my data without telling me?**
|
||||
|
||||
StackEdit is a frontend application. The access tokens issued by Google, Dropbox, GitHub... are stored in your browser and are not sent to our backend or to 3rd parties so your data won't be accessed by anybody.
|
||||
StackEdit is a frontend application. The access tokens issued by Google, Dropbox, GitHub... are stored in your browser and are not sent to any backend or 3^rd^ parties so your data won't be accessed by anyone.
|
||||
|
@ -335,6 +335,7 @@ function cledit(contentElt, scrollEltOpt, isMarkdown = false) {
|
||||
});
|
||||
|
||||
turndownService = new TurndownService(store.getters['data/computedSettings'].turndown);
|
||||
turndownService.escape = str => str; // Disable escaping
|
||||
}
|
||||
|
||||
contentElt.addEventListener('paste', (evt) => {
|
||||
@ -347,7 +348,7 @@ function cledit(contentElt, scrollEltOpt, isMarkdown = false) {
|
||||
if (turndownService) {
|
||||
try {
|
||||
const html = clipboardData.getData('text/html');
|
||||
if (html && !clipboardData.getData('text/css')) {
|
||||
if (html) {
|
||||
const sanitizedHtml = htmlSanitizer.sanitizeHtml(html)
|
||||
.replace(/ /g, ' '); // Replace non-breaking spaces with classic spaces
|
||||
if (sanitizedHtml) {
|
||||
|
@ -23,8 +23,11 @@ const isGoogleSponsor = () => {
|
||||
|
||||
const checkPayment = () => {
|
||||
const currentDate = Date.now();
|
||||
if (!isGoogleSponsor() && networkSvc.isUserActive() && !store.state.offline &&
|
||||
lastCheck + checkPaymentEvery < currentDate
|
||||
if (!isGoogleSponsor()
|
||||
&& networkSvc.isUserActive()
|
||||
&& !store.state.offline
|
||||
&& !store.state.light
|
||||
&& lastCheck + checkPaymentEvery < currentDate
|
||||
) {
|
||||
lastCheck = currentDate;
|
||||
getMonetize()
|
||||
|
Loading…
Reference in New Issue
Block a user