summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.sequelizerc.example8
-rw-r--r--config.json.example52
-rw-r--r--public/js/common.js.example95
3 files changed, 155 insertions, 0 deletions
diff --git a/.sequelizerc.example b/.sequelizerc.example
new file mode 100644
index 00000000..29a0d145
--- /dev/null
+++ b/.sequelizerc.example
@@ -0,0 +1,8 @@
+var path = require('path');
+
+module.exports = {
+ 'config': path.resolve('config.json'),
+ 'migrations-path': path.resolve('lib', 'migrations'),
+ 'models-path': path.resolve('lib', 'models'),
+ 'url': 'change this'
+} \ No newline at end of file
diff --git a/config.json.example b/config.json.example
new file mode 100644
index 00000000..22fd5c92
--- /dev/null
+++ b/config.json.example
@@ -0,0 +1,52 @@
+{
+ "development": {
+ "domain": "localhost",
+ "db": {
+ "username": "",
+ "password": "",
+ "database": "hackmd",
+ "host": "localhost",
+ "port": "3306",
+ "dialect": "mysql"
+ }
+ },
+ "production": {
+ "domain": "localhost",
+ "db": {
+ "username": "",
+ "password": "",
+ "database": "hackmd",
+ "host": "localhost",
+ "port": "5432",
+ "dialect": "postgres"
+ },
+ "facebook": {
+ "clientID": "change this",
+ "clientSecret": "change this"
+ },
+ "twitter": {
+ "consumerKey": "change this",
+ "consumerSecret": "change this"
+ },
+ "github": {
+ "clientID": "change this",
+ "clientSecret": "change this"
+ },
+ "gitlab": {
+ "baseURL": "change this",
+ "clientID": "change this",
+ "clientSecret": "change this"
+ },
+ "dropbox": {
+ "clientID": "change this",
+ "clientSecret": "change this"
+ },
+ "google": {
+ "clientID": "change this",
+ "clientSecret": "change this"
+ },
+ "imgur": {
+ "clientID": "change this"
+ }
+ }
+}
diff --git a/public/js/common.js.example b/public/js/common.js.example
new file mode 100644
index 00000000..11c32acc
--- /dev/null
+++ b/public/js/common.js.example
@@ -0,0 +1,95 @@
+//common
+var domain = ''; // domain name
+var urlpath = ''; // sub url path, like: www.example.com/<urlpath>
+//settings
+var debug = false;
+
+var GOOGLE_API_KEY = '';
+var GOOGLE_CLIENT_ID = '';
+
+var DROPBOX_APP_KEY = '';
+
+var port = window.location.port;
+var serverurl = window.location.protocol + '//' + (domain ? domain : window.location.hostname) + (port ? ':' + port : '') + (urlpath ? '/' + urlpath : '');
+var noteid = urlpath ? window.location.pathname.slice(urlpath.length + 1, window.location.pathname.length).split('/')[1] : window.location.pathname.split('/')[1];
+var noteurl = serverurl + '/' + noteid;
+
+var version = '0.4.4';
+
+var checkAuth = false;
+var profile = null;
+var lastLoginState = getLoginState();
+var lastUserId = getUserId();
+var loginStateChangeEvent = null;
+
+function resetCheckAuth() {
+ checkAuth = false;
+}
+
+function setLoginState(bool, id) {
+ Cookies.set('loginstate', bool, {
+ expires: 365
+ });
+ if (id) {
+ Cookies.set('userid', id, {
+ expires: 365
+ });
+ } else {
+ Cookies.remove('userid');
+ }
+ lastLoginState = bool;
+ lastUserId = id;
+ checkLoginStateChanged();
+}
+
+function checkLoginStateChanged() {
+ if (getLoginState() != lastLoginState || getUserId() != lastUserId) {
+ if(loginStateChangeEvent)
+ loginStateChangeEvent();
+ return true;
+ } else {
+ return false;
+ }
+}
+
+function getLoginState() {
+ var state = Cookies.get('loginstate');
+ return state === "true" || state === true;
+}
+
+function getUserId() {
+ return Cookies.get('userid');
+}
+
+function clearLoginState() {
+ Cookies.remove('loginstate');
+}
+
+function checkIfAuth(yesCallback, noCallback) {
+ var cookieLoginState = getLoginState();
+ if (checkLoginStateChanged())
+ checkAuth = false;
+ if (!checkAuth || typeof cookieLoginState == 'undefined') {
+ $.get(serverurl + '/me')
+ .done(function (data) {
+ if (data && data.status == 'ok') {
+ profile = data;
+ yesCallback(profile);
+ setLoginState(true, data.id);
+ } else {
+ noCallback();
+ setLoginState(false);
+ }
+ })
+ .fail(function () {
+ noCallback();
+ })
+ .always(function () {
+ checkAuth = true;
+ });
+ } else if (cookieLoginState) {
+ yesCallback(profile);
+ } else {
+ noCallback();
+ }
+} \ No newline at end of file