Compare commits

...

15 commits

Author SHA1 Message Date
Glenn Y. Rolland ac2209962b chore: Fix link to contrib-trello
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-01-15 19:27:16 +01:00
Glenn Y. Rolland 2fae0eb496 doc: Shorten content & improve display 2023-01-15 19:27:03 +01:00
Glenn Y. Rolland 754ed0f898 doc: Add idea for composable functions
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-15 19:08:21 +01:00
Glenn Y. Rolland 48b4b6ce96 Update README with new roadmap 2023-01-15 19:07:27 +01:00
Glenn Y. Rolland 8cb708d8db Update README
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-07 18:14:46 +02:00
Glenn Y. Rolland 1382806018 doc: Change CICD badge in README
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-18 21:35:11 +02:00
Glenn Y. Rolland 968ca355df chore: Ignore _* files
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-18 21:33:24 +02:00
Glenn Y. Rolland 96ddf06817 doc: Change CICD badge in README 2022-08-18 21:33:03 +02:00
Glenn Y. Rolland 858eaee5a7 fix: Improve template readability 2022-08-18 21:32:42 +02:00
Glenn Y. Rolland 5dfea6c063 doc: Add information about nextcloud 2022-08-18 21:31:45 +02:00
Glenn Y. Rolland 0f58b1dfa9 ci: Fix backend binary build step
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-18 21:29:28 +02:00
Glenn Y. Rolland 9dfa04fa01 ci: Add frontend step
Some checks failed
continuous-integration/drone/push Build is failing
2022-08-18 21:25:18 +02:00
Glenn Y. Rolland 53ee8a8faf ci: Replace test with build
Some checks failed
continuous-integration/drone/push Build is failing
2022-08-18 21:10:12 +02:00
Glenn Y. Rolland f37667e1f5 ci: Fix typo for dependencies download
Some checks failed
continuous-integration/drone/push Build is failing
2022-08-18 21:09:05 +02:00
Glenn Y. Rolland e0d8391c2e ci: Add Drone configuration
Some checks failed
continuous-integration/drone/push Build is failing
2022-08-18 20:55:00 +02:00
7 changed files with 224 additions and 43 deletions

29
.drone.yml Normal file
View file

@ -0,0 +1,29 @@
---
kind: pipeline
type: docker
name: default
steps:
- name: Frontend
image: node:18
volumes:
- name: cache
path: /stupid
commands:
- pwd
- make build-templates
- name: Backend
image: golang:1.13
volumes:
- name: cache
path: /stupid
commands:
- pwd
- go get -v -t -d ./...
- make build-binaries
volumes:
- name: cache
temp: {}
#

4
.gitignore vendored
View file

@ -1,6 +1,8 @@
/node_modules
/musala-mail
/musala
/bin
/vendor
/tmp
/_*
.env

View file

@ -1,6 +1,6 @@
# <img src="doc/logo-title-paths.svg" width="50%" style="display: block; margin: 0 auto;" alt="Musala" />
![Build](https://github.com/glenux/musala/workflows/build/badge.svg?branch=master)
[![Build Status](https://cicd.apps.glenux.net/api/badges/glenux/musala/status.svg?ref=refs/heads/develop)](https://cicd.apps.glenux.net/glenux/musala)
[![GitHub license](https://img.shields.io/github/license/glenux/musala.svg)](https://github.com/glenux/musala/blob/master/LICENSE.txt)
[![Donate on patreon](https://img.shields.io/badge/patreon-donate-orange.svg)](https://patreon.com/glenux)
@ -10,33 +10,46 @@ Note: _musala_ means _work, occupation_ [in Lingala](https://dic.lingala.be/fr/m
## Roadmap
Task sources:
Multiple task sources & destinations:
* :heavy_check_mark: __Trello__
* :x: Nextcloud Deck (not yet) - [API Reference](https://github.com/nextcloud/deck/blob/master/docs/API.md)
* :x: Wekan (not yet) - [API Reference](https://github.com/wekan/wekan/wiki/REST-API)
* :x: Libreboard (not yet)
* :x: Github Projects (not yet)
* :x: Nextcloud Deck (not yet)
/ Wekan (not yet)
/ Gitea / Forgejo (not yet)
/ Libreboard (not yet)
/ Github Projects (not yet)
Source selection
Board Data selection:
* :heavy_check_mark: __All of them__
* :heavy_check_mark: __Favorited boards__
* :heavy_check_mark: __Only selected ones__
* :heavy_check_mark: __All boards__
/ __Favorited boards__
/ __Only selected ones__
Task actions:
* :heavy_check_mark: __List tasks__
* :x: Create task
/ Read task
/ Update task
/ Remove task
Delivery via:
* :heavy_check_mark: __E-mail__
* :x: Telegram
* :x: Slack
* :x: SMS
* :x: Whatsapp
* :x: IRC
* :heavy_check_mark: __E-mail__
* :x: Terminal
/ Webhook
/ UnifiedPush
/ Telegram
/ Slack
/ SMS
/ Whatsapp
/ IRC
User interface for account configuration
UI for task management:
* :heavy_check_mark: Command line + environment variables
* :x: Web app
* :heavy_check_mark: Simple CLI + environment variables
* :x: Composable CLI + environment variables
/ Web UI
## Installation
@ -44,7 +57,11 @@ User interface for account configuration
Make sure you have Go installed, then type:
$ go install github.com/glenux/musala/...
$ go install github.com/glenux/musala/...@master
or
$ go install code.apps.glenux.net/glenux/musala/...@master
It will install Musala Mail binary in `$GOPATH/bin`
@ -126,6 +143,9 @@ Then run the program:
Got questions? Need help? Tweet at [@glenux](https://twitter.com/glenux)
## Thanks
Thanks to Tamim & Stephanie for watching me updating this project.
## License
@ -136,4 +156,7 @@ Musala is Copyright © 2018-2021 Glenn ROLLAND. It is free software, and may be
Following projects may also inspire you:
* [72nd/deck-cli](https://github.com/72nd/deck-cli): a command-line tool for interacting with Nextcloud's Deck Plugin by using it's API
* [Nextcloud API Reference](https://github.com/nextcloud/deck/blob/master/docs/API.md)
* [Wekan API Reference](https://github.com/wekan/wekan/wiki/REST-API)
* [Gitea API Usage](https://docs.gitea.io/en-us/api-usage/) and [Gitea API Reference](https://try.gitea.io/api/swagger)

View file

@ -1 +1 @@
/home/warbrain/src/Contrib/contrib-trello
../contrib-trello

View file

@ -0,0 +1,51 @@
# Composable functions
## Example
### With pipes
musala-pull SOURCE \
| musala-add TASK \
| musala-remove --purge SOMETASK \
| musala-push DEST
### With internal filters
Also writeable like
musala pull SOURCE % add TASK1 % remove --purge TASK2 % push DEST
## Commands
### musala pull
Download all tasks from source
Get tasks from remote source
Writes tasks as JSON to stdout
### musala add
Add new task
Get tasks from stdin (json)
Add a new task
Writes tasks as JSON to stdout
### musala remove
* Get tasks from stdin (json)
* Mark a task as removed
* Remove tasks marked as remove (if --purge enabled)
* Writes tasks as JSON to stdout
### musala push
* Get tasks from stdin (json)
* Writes tasks to REMOTE DESTINATION

12
doc/nextcloud-auth.md Normal file
View file

@ -0,0 +1,12 @@
# Nextcloud API
Read https://docs.nextcloud.com/server/latest/developer_manual/client_apis/LoginFlow/index.html
Step 1
$ curl -X POST https://cloud.apps.glenux.net/index.php/login/v2
Step 2

View file

@ -1,11 +1,12 @@
<mjml>
<mj-head>
<mj-style inline="inline">
.footer-link { color: white !important; font-weight: bold; text-decoration: underline !important; }
</mj-style>
<mj-style inline="inline">
.footer-link { color: white !important; font-weight: bold; text-decoration: underline !important; }
</mj-style>
</mj-head>
<mj-body>
<!-- section 1 -->
<mj-section>
<mj-group>
<mj-column>
@ -15,41 +16,104 @@
<mj-text font-size="20px" color="#F45E43" font-family="helvetica" align="center">
Mardi 28 aout 2020
</mj-text>
<mj-button href="#" font-family="Helvetica" background-color="#f45e43" color="white">Visit Board
<mj-button href="#" font-family="Helvetica" background-color="#f45e43" color="white">Visit Musala
</mj-button>
</mj-column>
</mj-group>
</mj-section>
<!-- Title section -->
<mj-section>
<mj-column>
<mj-divider border-color="#F45E43"></mj-divider>
<mj-text font-size="20px" color="#F45E43" font-family="helvetica" align="center">
Your daily task list for
</mj-text>
<mj-text font-size="24px" font-weight="bold" color="#F45E43" font-family="helvetica" align="center">
BC.Business.Operational
<mj-text font-size="24px" color="#F45E43" font-family="helvetica" align="center">
Your daily task list
</mj-text>
<mj-divider border-color="#F45E43"></mj-divider>
</mj-column>
</mj-section>
<mj-section>
<mj-column>
<mj-button font-size="20px" font-family="Helvetica" font-weight="bold" background-color="#f45e43" align="left" color="white">Topic ABC
<!-- Chapter -->
<mj-section>
<mj-column>
<mj-button font-size="20px" font-family="Helvetica" font-weight="bold" background-color="#f45e43" align="left" color="white">Late
</mj-button>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" font-weight="bold" align="left">
Topic dsfsdfs
</mj-text>
<mj-text font-size="16px" color="#666" font-family="helvetica" align="left">
Lorem ipsum dolor sit amet, blablablabla <a href="rezrez">&gt;&gt; see more</a>
</mj-text>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left" line-height="1.25">
<p style="margin: 0 0 4px 0;"><b>Super task number one</b></p>
<p style="margin: 0 0 4px 0; color: #bbb; font-size: 14px;"><b>Draft</b> on <b>cloud.boldcode.io</b> &ndash; Due for 2001-10-10</p>
<p style="margin: 0 0 4px 0; ">Lorem ipsum dolor sit amet, blablablabla, lorem ipsum dolor sit amet, blablablabla, lorem ipsum dolor sit amet, blablablabla &blacksquare; <a href="#rezrez" style="color: #f45e43;">read more</a></p>
</mj-text>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left" line-height="1.25">
<p style="margin: 0 0 4px 0;"><b>Super task number one</b></p>
<p style="margin: 0 0 4px 0; color: #bbb; font-size: 14px;"><b>Draft</b> on <b>cloud.boldcode.io</b> &ndash; Due for 2001-10-10</p>
<p style="margin: 0 0 4px 0; ">Lorem ipsum dolor sit amet, blablablabla, lorem ipsum dolor sit amet, blablablabla, lorem ipsum dolor sit amet, blablablabla &blacksquare; <a href="#rezrez" style="color: #f45e43;">read more</a></p>
</mj-text>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left" line-height="1.25">
<p><b>Super task number one</b><br/></p>
<p>Lorem ipsum dolor sit amet, blablablabla <a href="rezrez">&gt;&gt; see more</a></p>
</mj-text>
</mj-column>
</mj-section>
<!-- Chapter -->
<mj-section>
<mj-column>
<mj-button font-size="20px" font-family="Helvetica" font-weight="bold" background-color="#f45e43" align="left" color="white">Today
</mj-button>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left">
<p><b>Super task number one</b></p>
<p font-size="14px">Lorem ipsum dolor sit amet, blablablabla <a href="rezrez">&gt;&gt; see more</a></p>
</mj-text>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left">
<p><b>Super task number one</b><br/></p>
<p>Lorem ipsum dolor sit amet, blablablabla <a href="rezrez">&gt;&gt; see more</a></p>
</mj-text>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left">
<p><b>Super task number one</b><br/></p>
<p>Lorem ipsum dolor sit amet, blablablabla <a href="rezrez">&gt;&gt; see more</a></p>
</mj-text>
</mj-column>
</mj-section>
<!-- Chapter -->
<mj-section>
<mj-column>
<mj-button font-size="20px" font-family="Helvetica" font-weight="bold" background-color="#f45e43" align="left" color="white">This week
</mj-button>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left">
<p><b>Super task number one</b></p>
<p font-size="14px">Lorem ipsum dolor sit amet, blablablabla <a href="rezrez">&gt;&gt; see more</a></p>
</mj-text>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left">
<p><b>Super task number one</b><br/></p>
<p>Lorem ipsum dolor sit amet, blablablabla <a href="rezrez">&gt;&gt; see more</a></p>
</mj-text>
<mj-text font-size="16px" color="#666" padding-bottom="0" font-family="helvetica" align="left">
<p><b>Super task number one</b><br/></p>
<p>Lorem ipsum dolor sit amet, blablablabla <a href="rezrez">&gt;&gt; see more</a></p>
</mj-text>
</mj-column>
</mj-section>
<!-- footer -->
<mj-section>
<mj-column background-color="white" inner-background-color="#f45e43" padding-right="20px" padding-left="20px">
<mj-text font-size="16px" color="#ffffff" font-family="helvetica" align="left" >
To stop receiving these emails, you can change your <a href="#" class="footer-link">notification preferences</a> in <a href="#" class="footer-link">Musala</a>.
</mj-text>
<mj-text font-size="16px" color="#ffffff" font-family="helvetica" align="left">
To stop receiving these emails, you can change your <a href="#" class="footer-link">notification preferences</a> in <a href="#" class="footer-link">Musala</a>.
</mj-text>
</mj-column>
</mj-section>
</mj-body>
</mjml>