Coder Social home page Coder Social logo

obweb's Introduction

Obweb : Obsidian + Web = Obsdian on Mobile + Flomo

Notice

This project now is deprecated, I use Obsdian Andriod App. I may split the RSS reader part to a new project.

Motivation

Introduction in Chinese: 打造自己的工具

Obsidian and Flomo are two of my favorite Applications.

I use Obsidian for knowledge management and Flomo for daily thoughts or memos.

But Flomo don't work well with Obsidian. I decided to create a Web interface for Obsidian, so I can use it on my mobile devices and work in a mixed way of Obsidian and flomo.

Here are the principles of this project:

  1. The UI is designed to be more suitable for a mobile device. On PC/Mac, the Obsidian native application is more convenient than Web Applications.

  2. We won't do complicated editing operations on the mobile end, in most scenarios, we create simple note and memos in daily life, but we can use link in Obsidian to build connections between notes.

  3. Keep everything simple, plain Markdown is preferable. Git as database and no other deps.

  4. We don't want to store any data on other third-parties, here we will deploy it on our own server.

  5. There is a simple but workable RSS reader

Development

Obweb is a classic single page Web application:

  • Backend: JavaScript/Koa for API
  • Frontend: JavaScript, Bootstrap, JQuery, svelte. I'm a novice in Frontend :)

For a MVP, I want to keep it stupid and simple. Most of code is simple and easy to understand, there are some hard-coded parts.

Maybe you need to do some trivial tweaks. Any PR is welcome to make it better and useful for others.

Usage

1. Initialize Obsidian repo

There is a plugin Obsidian Git to help you sync you Obsidian vault with remote repository.

Obweb assume you have your Obsidian repository is cloned on the deploying server, and you have the permission of Git pull/push. When you are posting things from API, Obweb will push changes to remote.

git clone http://your-ob-repo ob

cd ob
git config user.email "[email protected]"
git config user.name "Your Name"

2. Run the server

Obweb assume your Obsidian vault has Daily and Unsort directories to store daily memos and unsorted notes.

./bin/dev.sh

Access URL: http://localhost:8006/front/index.html

3. Post configuration

If you have your own domain, you can deploy it to a custom domain. You may want to add some other security enhancement such as HTTPS, request frequency limit, etc.

If you want to add authorization with an account and password, you may add username and password in default.json:

"user": "xxxxx",
"pass": "xxxxx",

I use this App everyday, hope it will be useful for you.

obweb's People

Contributors

chenyukang avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

obweb's Issues

是否有api开发计划

首先感谢大佬写的这个好用的系统。
然后呢我想写一个telegram机器人对接这个系统。
现在这个系统是不是还没有设计过类似的api供使用的?

运行不起来...

root@debian:~/obweb/obweb-main/backend# npm install
npm WARN npm npm does not support Node.js v10.24.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!

> [email protected] install /root/obweb/obweb-main/backend/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build

[sqlite3] Success: "/root/obweb/obweb-main/backend/node_modules/sqlite3/lib/binding/napi-v6-linux-glibc-x64/node_sqlite3.node" is installed via remote

> [email protected] install /root/obweb/obweb-main/backend/node_modules/better-sqlite3
> prebuild-install || npm run build-release


> [email protected] postinstall /root/obweb/obweb-main/backend/node_modules/nodemon
> node bin/postinstall || exit 0

Love nodemon? You can now support the project via the open collective:
 > https://opencollective.com/nodemon/donate

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1015 packages from 645 contributors in 34.31s
root@debian:~/obweb/obweb-main/backend# cd front
-bash: cd: front: No such file or directory
root@debian:~/obweb/obweb-main/backend# cd ..
root@debian:~/obweb/obweb-main# cd front/
root@debian:~/obweb/obweb-main/front# ls
node_modules  package.json  package-lock.json  public  README.md  rollup.config.js  scripts  src
root@debian:~/obweb/obweb-main/front# npm install
npm WARN npm npm does not support Node.js v10.24.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN [email protected] requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

up to date in 0.908s
root@debian:~/obweb/obweb-main/front# cd ..
root@debian:~/obweb/obweb-main# ./b
backend/ bin/
root@debian:~/obweb/obweb-main# ./b
backend/ bin/
root@debian:~/obweb/obweb-main# ./b
backend/ bin/
root@debian:~/obweb/obweb-main# ./bin/dev.sh
~/obweb/obweb-main/ob ~/obweb/obweb-main
error: pathspec 'main' did not match any file(s) known to git
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=<remote>/<branch> master

~/obweb/obweb-main
~/obweb/obweb-main/front ~/obweb/obweb-main
npm WARN npm npm does not support Node.js v10.24.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN [email protected] requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

up to date in 0.89s
npm WARN npm npm does not support Node.js v10.24.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/

> [email protected] build /root/obweb/obweb-main/front
> rollup -c


src/main.js → public/build/bundle.js...
created public/build/bundle.js in 3.5s
~/obweb/obweb-main
~/obweb/obweb-main/backend ~/obweb/obweb-main
npm WARN npm npm does not support Node.js v10.24.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/

> [email protected] dev /root/obweb/obweb-main/backend
> nodemon server.js

[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node server.js`

在fron 和backend 里 npm install后
运行 ./bin/dev.sh 然后显示在starting node server.js 端口 3000和8006没有页面

直接运行docker 日志显示

[email protected] dev
nodemon server.js
sh: 1: nodemon: not found

折腾了2天没搞定,对项目的工作流不怎么懂,一头雾水
请求指教下,还有哪个必要步骤没有初始化

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.