Skip to content

Commit fb5b974

Browse files
committed
Seems to work
1 parent df347b1 commit fb5b974

19 files changed

+6087
-977
lines changed

.gitmodules

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[submodule "packages/knowfox/knowfox"]
2+
path = packages/knowfox/knowfox
3+
url = [email protected]:knowfox/knowfox.git
4+
branch = minimal-change
5+
[submodule "packages/knowfox/entangle"]
6+
path = packages/knowfox/entangle
7+
url = [email protected]:knowfox/entangle.git
8+
branch = minimal-change
9+
[submodule "packages/knowfox/drupal7"]
10+
path = packages/knowfox/drupal7
11+
url = [email protected]:knowfox/drupal7.git
12+
branch = minimal-change
13+
[submodule "packages/knowfox/pocket"]
14+
path = packages/knowfox/pocket
15+
url = [email protected]:knowfox/pocket.git
16+
branch = minimal-change
17+

Envoy.blade.php

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
@servers(['web' => 'schettler.net'])
2+
3+
@setup
4+
$repo = '[email protected]:knowfox/base.git';
5+
$repo_branch = 'master';
6+
$root_dir = '/var/www/knowfox';
7+
$releases_dir = "{$root_dir}/releases";
8+
//$releases_dir = "{$root_dir}/l8";
9+
$now = strftime('%Y%m%d-%H%M%S');
10+
$release_dir = "{$releases_dir}/{$now}";
11+
12+
if (!empty($target)) {
13+
$env = '.env-' . $target;
14+
}
15+
else {
16+
$target = 'current';
17+
$env = '.env';
18+
}
19+
@endsetup
20+
21+
@task('deploy', ['on' => 'web'])
22+
set -x
23+
if [[ "{{ $target }}" = "current" ]]
24+
then
25+
cd {{ $releases_dir }};
26+
old=$(ls -t1 | tail -n +3)
27+
if [[ -n $old ]]; then echo $old | xargs rm -r; fi
28+
fi
29+
cd {{ $root_dir }};
30+
git clone -b {{ $repo_branch }} {{ $repo }} {{ $release_dir }};
31+
cd {{ $release_dir }};
32+
git submodule update --init --remote --recursive
33+
34+
rm -rf storage
35+
rm -rf bootstrap/cache
36+
ln -s {{ $root_dir }}/shared/storage storage
37+
ln -s {{ $root_dir }}/shared/storage/app/public public/storage
38+
ln -s {{ $root_dir }}/shared/cache bootstrap/cache
39+
ln -s {{ $root_dir }}/shared/{{ $env }} .env
40+
rm -rf public/system
41+
ln -s {{ $root_dir }}/shared/uploads public/uploads
42+
ln -s {{ $root_dir }}/shared/presentation public/presentation
43+
44+
composer install --ignore-platform-reqs
45+
46+
php artisan cache:clear
47+
php artisan migrate
48+
49+
rm package-lock.json
50+
npm install --no-optional
51+
#npm run production
52+
53+
#chmod 777 storage/logs/laravel.log
54+
#sudo setfacl -R -m u:www-data:rwX -m u:olav:rwX {{ $root_dir }}/shared/storage
55+
#sudo setfacl -dR -m u:www-data:rwX -m u:olav:rwX {{ $root_dir }}/shared/storage
56+
57+
cd {{ $root_dir }};
58+
ln -s {{ $release_dir }} {{ $target }}-{{ $now }}
59+
mv -T {{ $target }}-{{ $now }} {{ $target }}
60+
61+
cd {{ $root_dir }}/{{ $target }}; php artisan queue:restart; sudo /usr/local/sbin/restart-php
62+
@endtask

README-laravel.md

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400"></a></p>
2+
3+
<p align="center">
4+
<a href="https://travis-ci.org/laravel/framework"><img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status"></a>
5+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
6+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
7+
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
8+
</p>
9+
10+
## About Laravel
11+
12+
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
13+
14+
- [Simple, fast routing engine](https://laravel.com/docs/routing).
15+
- [Powerful dependency injection container](https://laravel.com/docs/container).
16+
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
17+
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
18+
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
19+
- [Robust background job processing](https://laravel.com/docs/queues).
20+
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
21+
22+
Laravel is accessible, powerful, and provides tools required for large, robust applications.
23+
24+
## Learning Laravel
25+
26+
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
27+
28+
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
29+
30+
## Laravel Sponsors
31+
32+
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
33+
34+
### Premium Partners
35+
36+
- **[Vehikl](https://vehikl.com/)**
37+
- **[Tighten Co.](https://tighten.co)**
38+
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
39+
- **[64 Robots](https://64robots.com)**
40+
- **[Cubet Techno Labs](https://cubettech.com)**
41+
- **[Cyber-Duck](https://cyber-duck.co.uk)**
42+
- **[Many](https://www.many.co.uk)**
43+
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
44+
- **[DevSquad](https://devsquad.com)**
45+
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
46+
- **[OP.GG](https://op.gg)**
47+
48+
## Contributing
49+
50+
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
51+
52+
## Code of Conduct
53+
54+
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
55+
56+
## Security Vulnerabilities
57+
58+
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [[email protected]](mailto:[email protected]). All security vulnerabilities will be promptly addressed.
59+
60+
## License
61+
62+
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

README.md

+44-47
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,59 @@
1-
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400"></a></p>
1+
# Knowfox
22

3-
<p align="center">
4-
<a href="https://travis-ci.org/laravel/framework"><img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status"></a>
5-
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
6-
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
7-
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
8-
</p>
3+
Knowfox is my Personal Knowledge Management system. Having been an keen Evernote user since 2012, I finally got around to taking my precious notes to my own server.
94

10-
## About Laravel
5+
[![Gitter](https://badges.gitter.im/knowfox-personal-knowledge-management/community.svg)](https://gitter.im/knowfox-personal-knowledge-management/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
116

12-
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
7+
## Features
138

14-
- [Simple, fast routing engine](https://laravel.com/docs/routing).
15-
- [Powerful dependency injection container](https://laravel.com/docs/container).
16-
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
17-
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
18-
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
19-
- [Robust background job processing](https://laravel.com/docs/queues).
20-
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
9+
* Hierarchies. Inspired by Dave Winer's Worldoutline and Fargo, I want my knowledge base to have a deep structure, not be only two stories tall.
10+
* Tags. Where a single hierarchy is not enough, tags can link common topics in the least intrusive way. Since the times of Web 2.0, tags are everywhere.
11+
* Typed relationships. Sometimes though, hierarchies are too strict and tags are too loose. For example, I want to link authors to books, founders to companies, cause to effect. For this, typed, bi-directional relationships are king.
12+
* Markdown. There are other many similar and nice text formats, but Markdown is simple and popular and has won the race.
13+
* Bookmarking. I frequently take note of websites and like to mark them for later reading.
14+
* Pictures. My notes have lots of pictures. Mostly screenshots, but some photos or diagrams added as well.
15+
* Privacy. All my notes and pictures are mine and should be visible to no one.
16+
* Simple journalling. I used Evernote on a daily basis and will do so with Knowfox, too. Easy, date-based journalling is a feature I use every day.
17+
* Sharing. Sometimes I want to share a note and its pictures. This should be painless and explicit.
18+
* Publishing. Knowledge wants to be communicated sometimes. For this, I want to export a sub-tree of my hierarchy as beautiful slide deck, effortlessly.
2119

22-
Laravel is accessible, powerful, and provides tools required for large, robust applications.
20+
This gives me the basic structure. On top of this,
2321

24-
## Learning Laravel
22+
* all my Evernote notes should go in there,
23+
* my catalogue of eBooks as well,
24+
* my timelines, too.
2525

26-
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
26+
The resulting system should be easy to understand, maintain and deploy. CouchDB would have been an nice option with Hoodie on to of it. Ultimately though, I felt more confident with *Laravel 5 and MySQL* so this is what Knowfox is built on.
2727

28-
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
28+
## Status
2929

30-
## Laravel Sponsors
30+
Knowfox is usable and very nicely so.
3131

32-
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
32+
* Full text search works, maybe even better than the one in Evernote.
33+
* The integrated Markdown editor has no inline preview of images, but otherwise is a joy to use.
34+
* Picture handling is very slick, thanks to the integrated Dropzone.js and automatic inclusion of image links into the note's Markdown.
35+
* A bookmarklet helps me to bookmark websites and gather their content for later reference.
36+
* I have imported my most important Evernote notebooks and now rely on it for my everyday work and projects.
37+
* There is a hosted version at https://knowfox.com which is free to use. However, I make no guarantees as to the stability of this service. Ultimately, Knowfox is meant for self hosting.
3338

34-
### Premium Partners
39+
There is a [brief presentation](https://knowfox.com/presentation/47d6c8de/013c/11e7/8a8c/56847afe9799/index.html) about the system, too.
3540

36-
- **[Vehikl](https://vehikl.com/)**
37-
- **[Tighten Co.](https://tighten.co)**
38-
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
39-
- **[64 Robots](https://64robots.com)**
40-
- **[Cubet Techno Labs](https://cubettech.com)**
41-
- **[Cyber-Duck](https://cyber-duck.co.uk)**
42-
- **[Many](https://www.many.co.uk)**
43-
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
44-
- **[DevSquad](https://devsquad.com)**
45-
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
46-
- **[OP.GG](https://op.gg)**
41+
In addition to what Laravel requires, Knowfox uses the following NPM modules:
4742

48-
## Contributing
43+
* selectize
44+
* simplemde
45+
* dropzone
46+
* jquery-ui
47+
* jquery-resizable
48+
* featherlight
49+
* jqtree
50+
* snackbar
51+
* v-calendar
52+
* jquery
53+
* bootstrap-sass
54+
* vue
55+
* vue-template-compiler
4956

50-
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
57+
## The Future
5158

52-
## Code of Conduct
53-
54-
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
55-
56-
## Security Vulnerabilities
57-
58-
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [[email protected]](mailto:[email protected]). All security vulnerabilities will be promptly addressed.
59-
60-
## License
61-
62-
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
59+
I have built Knowfox in a frency to have a usable system as soon as possible. For others to be able to contribute, it most urgently needs automated tests. Some more importers for my other databases for eBooks and timelines will follow. Maybe native apps or a FUSE filesystem at some point.

composer.json

+42-5
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,54 @@
11
{
2-
"name": "laravel/laravel",
2+
"name": "knowfox/base",
33
"type": "project",
4-
"description": "The Laravel Framework.",
5-
"keywords": ["framework", "laravel"],
6-
"license": "MIT",
4+
"description": "Knowfox. A personal knowledge management system.",
5+
"keywords": [
6+
"knowfox",
7+
"personal knowledge management"
8+
],
9+
"license": "GPLv3",
10+
"repositories": [
11+
{
12+
"type": "path",
13+
"url": "packages/knowfox/knowfox",
14+
"options": {
15+
"symlink": true
16+
}
17+
},
18+
{
19+
"type": "path",
20+
"url": "packages/knowfox/entangle",
21+
"options": {
22+
"symlink": true
23+
}
24+
},
25+
{
26+
"type": "path",
27+
"url": "packages/knowfox/pocket",
28+
"options": {
29+
"symlink": true
30+
}
31+
},
32+
{
33+
"type": "path",
34+
"url": "packages/knowfox/drupal7",
35+
"options": {
36+
"symlink": true
37+
}
38+
}
39+
],
740
"require": {
841
"php": "^7.3|^8.0",
942
"fideloper/proxy": "^4.4",
1043
"fruitcake/laravel-cors": "^2.0",
1144
"guzzlehttp/guzzle": "^7.0.1",
45+
"knowfox/knowfox": "dev-minimal-change",
1246
"laravel/framework": "^8.40",
1347
"laravel/sanctum": "^2.11",
14-
"laravel/tinker": "^2.5"
48+
"laravel/tinker": "^2.5",
49+
"league/flysystem-cached-adapter": "^1.1",
50+
"league/flysystem-sftp": "~1.0",
51+
"predis/predis": "^1.1"
1552
},
1653
"require-dev": {
1754
"facade/ignition": "^2.5",

0 commit comments

Comments
 (0)