mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 15:30:13 +01:00
parent
691c3aff68
commit
84f49fa7a1
21 changed files with 240 additions and 57 deletions
|
|
@ -3,7 +3,7 @@ accounts-password@1.1.2-rc.0
|
||||||
aldeed:collection2@2.3.3
|
aldeed:collection2@2.3.3
|
||||||
aldeed:simple-schema@1.3.3
|
aldeed:simple-schema@1.3.3
|
||||||
alethes:pages@1.8.4
|
alethes:pages@1.8.4
|
||||||
arillo:flow-router-helpers@0.4.4_1
|
arillo:flow-router-helpers@0.4.5
|
||||||
audit-argument-checks@1.0.4-rc.0
|
audit-argument-checks@1.0.4-rc.0
|
||||||
autoupdate@1.2.3-rc.0
|
autoupdate@1.2.3-rc.0
|
||||||
babel-compiler@5.8.20-rc.0
|
babel-compiler@5.8.20-rc.0
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,18 @@
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
We’re glad you’re interested in helping the LibreBoard project! We welcome bug
|
We’re glad you’re interested in helping the Wekan project! We welcome bug
|
||||||
reports, enhancement ideas, and pull requests, in our GitHub bug tracker. Before
|
reports, enhancement ideas, and pull requests, in our GitHub bug tracker. Before
|
||||||
opening a new thread please verify that your issue hasn’t already been reported.
|
opening a new thread please verify that your issue hasn’t already been reported.
|
||||||
|
|
||||||
<https://github.com/libreboard/libreboard>
|
<https://github.com/wekan/wekan>
|
||||||
|
|
||||||
## Translations
|
## Translations
|
||||||
|
|
||||||
You are encouraged to translate (or improve the translation of) LibreBoard in
|
You are encouraged to translate (or improve the translation of) Wekan in your
|
||||||
your locale language. For that purpose we rely on
|
locale language. For that purpose we rely on
|
||||||
[Transifex](https://www.transifex.com/projects/p/libreboard). So the first step
|
[Transifex](https://www.transifex.com/projects/p/wekan). So the first step is to
|
||||||
is to create a Transifex account if you don’t have one already. You can then
|
create a Transifex account if you don’t have one already. You can then send a
|
||||||
send a request to join one of the translation teams. If there we will create a
|
request to join one of the translation teams. If there we will create a new one.
|
||||||
new one.
|
|
||||||
|
|
||||||
Once you are in a team you can start translating the application. Please take a
|
Once you are in a team you can start translating the application. Please take a
|
||||||
look at the glossary so you can agree with other (present and future)
|
look at the glossary so you can agree with other (present and future)
|
||||||
|
|
@ -25,25 +24,25 @@ the application itself, you are asked to fill the `i18n/en.i18n.json` file. When
|
||||||
you do that the new strings of text to translate automatically appears on
|
you do that the new strings of text to translate automatically appears on
|
||||||
Transifex to be translated (the refresh may take a few hours).
|
Transifex to be translated (the refresh may take a few hours).
|
||||||
|
|
||||||
We pull all translations from Transifex before every new LibreBoard release
|
We pull all translations from Transifex before every new Wekan release
|
||||||
candidate, ask the translators to review the app, and pull all translations
|
candidate, ask the translators to review the app, and pull all translations
|
||||||
again for the final release.
|
again for the final release.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
LibreBoard is made with [Meteor](https://www.meteor.com). Thus the easiest way
|
Wekan is made with [Meteor](https://www.meteor.com). Thus the easiest way to
|
||||||
to start hacking is by installing the framework, cloning the git repository, and
|
start hacking is by installing the framework, cloning the git repository, and
|
||||||
launching the application:
|
launching the application:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ curl https://install.meteor.com/ | sh # On Mac or Linux
|
$ curl https://install.meteor.com/ | sh # On Mac or Linux
|
||||||
$ git clone https://github.com/libreboard/libreboard.git
|
$ git clone https://github.com/wekan/wekan.git
|
||||||
$ cd libreboard
|
$ cd wekan
|
||||||
$ meteor
|
$ meteor
|
||||||
```
|
```
|
||||||
|
|
||||||
As for any Meteor application, LibreBoard is automatically refreshed when you
|
As for any Meteor application, Wekan is automatically refreshed when you change
|
||||||
change any file of the source code, just play with it to see how it behaves!
|
any file of the source code, just play with it to see how it behaves!
|
||||||
|
|
||||||
## Style guide
|
## Style guide
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@ FROM meteorhacks/meteord:onbuild
|
||||||
MAINTAINER Maxime Quandalle <maxime@quandalle.com>
|
MAINTAINER Maxime Quandalle <maxime@quandalle.com>
|
||||||
|
|
||||||
# Run as you wish!
|
# Run as you wish!
|
||||||
# docker run -d --name libreboard-db mongo
|
# docker run -d --name wekan-db mongo
|
||||||
# docker run -d --link "libreboard-db:db" -e "MONGO_URL=mongodb://db" \
|
# docker run -d --link "wekan-db:db" -e "MONGO_URL=mongodb://db" \
|
||||||
# -e "ROOT_URL=http://example.com" -p 8080:80 mquandalle/libreboard
|
# -e "ROOT_URL=http://example.com" -p 8080:80 mquandalle/wekan
|
||||||
|
|
|
||||||
|
|
@ -17,14 +17,15 @@ security. It also features the following improvements:
|
||||||
|
|
||||||
Starting from this release we will also distribute official docker images on
|
Starting from this release we will also distribute official docker images on
|
||||||
both the
|
both the
|
||||||
[GitHub release page](https://github.com/libreboard/libreboard/releases)
|
[GitHub release page](https://github.com/wekan/wekan/releases)
|
||||||
and on the
|
and on the
|
||||||
[DockerHub](https://hub.docker.com/r/mquandalle/libreboard).
|
[DockerHub](https://hub.docker.com/r/mquandalle/wekan).
|
||||||
|
|
||||||
New languages supported: Chinese, Finnish, Spanish, Korean, and Russian.
|
New languages supported: Chinese, Finnish, Spanish, Korean, and Russian.
|
||||||
|
|
||||||
Special thanks to GitHub users ePirat, nata-goddanti, ocdtrekkie, and others who
|
Special thanks to GitHub users ePirat, nata-goddanti, ocdtrekkie, and others who
|
||||||
have supportive during this *traversée du desert*.
|
have supportive during this *traversée du desert*, and to neynah for the Wekan
|
||||||
|
icons.
|
||||||
|
|
||||||
# v0.8
|
# v0.8
|
||||||
|
|
||||||
|
|
|
||||||
22
README.md
22
README.md
|
|
@ -1,21 +1,23 @@
|
||||||
# LibreBoard
|
# Wekan
|
||||||
|
|
||||||
LibreBoard is an open-source *kanban* board that let you organize things in
|
<!-- XXX Need to improve this introduction -->
|
||||||
cards, and cards in lists. You can use it alone, or with your team and family
|
|
||||||
thanks to our real-time synchronisation feature. Libreboard is a land of liberty
|
Wekan is an open-source *kanban* board that let you organize things in cards,
|
||||||
and you can implement all sort of workflows on it using tags, comments, member
|
and cards in lists. You can use it alone, or with your team and family thanks to
|
||||||
assignation, and many more.
|
our real-time synchronisation feature. Wekan is a land of liberty and you can
|
||||||
|
implement all sort of workflows on it using tags, comments, member assignation,
|
||||||
|
and many more.
|
||||||
|
|
||||||
[![Our roadmap is self-hosted on LibreBoard][thumbnail]][roadmap]
|
[![Our roadmap is self-hosted on LibreBoard][thumbnail]][roadmap]
|
||||||
|
|
||||||
Since it is a free software, you don’t have to trust us with your data and can
|
Since it is a free software, you don’t have to trust us with your data and can
|
||||||
install LibreBoard on your own computer or server. In fact we encourage you to
|
install Wekan on your own computer or server. In fact we encourage you to do
|
||||||
do that by providing one-click installation for the
|
that by providing one-click installation for the
|
||||||
[Sandstorm](https://sandstorm.io) platform and verified
|
[Sandstorm](https://sandstorm.io) platform and verified
|
||||||
[Docker](https://www.docker.com) images.
|
[Docker](https://www.docker.com) images.
|
||||||
|
|
||||||
LibreBoard is released under the very permissive [MIT license](LICENSE), and
|
Wekan is released under the very permissive [MIT license](LICENSE), and made
|
||||||
made with [Meteor](https://www.meteor.com).
|
with [Meteor](https://www.meteor.com).
|
||||||
|
|
||||||
[Our roadmap is self-hosted on LibreBoard][roadmap]
|
[Our roadmap is self-hosted on LibreBoard][roadmap]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ BlazeComponent.extendComponent({
|
||||||
// In case the filter is active we need to add the newly inserted card in
|
// In case the filter is active we need to add the newly inserted card in
|
||||||
// the list of exceptions -- cards that are not filtered. Otherwise the
|
// the list of exceptions -- cards that are not filtered. Otherwise the
|
||||||
// card will disappear instantly.
|
// card will disappear instantly.
|
||||||
// See https://github.com/libreboard/libreboard/issues/80
|
// See https://github.com/wekan/wekan/issues/80
|
||||||
Filter.addException(_id);
|
Filter.addException(_id);
|
||||||
|
|
||||||
// We keep the form opened, empty it, and scroll to it.
|
// We keep the form opened, empty it, and scroll to it.
|
||||||
|
|
|
||||||
|
|
@ -34,11 +34,15 @@ template(name="header")
|
||||||
#header-main-bar(class="{{#if wrappedHeader}}wrapper{{/if}}")
|
#header-main-bar(class="{{#if wrappedHeader}}wrapper{{/if}}")
|
||||||
if $.Session.get 'currentBoard'
|
if $.Session.get 'currentBoard'
|
||||||
+headerBoard
|
+headerBoard
|
||||||
else
|
else if($eq currentRouteName 'home')
|
||||||
+headerTitle
|
+headerTitle
|
||||||
|
|
||||||
|
a.wekan-logo(href="{{pathFor 'home'}}")
|
||||||
|
img(src="/wekan-logo-header.png" alt="Wekan")
|
||||||
|
|
||||||
template(name="headerTitle")
|
template(name="headerTitle")
|
||||||
h1 LibreBoard
|
h1 My Boards
|
||||||
|
|
||||||
.board-header-btns.right
|
.board-header-btns.right
|
||||||
a.board-header-btn.js-open-archived-board
|
a.board-header-btn.js-open-archived-board
|
||||||
i.fa.fa-archive
|
i.fa.fa-archive
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,16 @@
|
||||||
float: left
|
float: left
|
||||||
border-radius: 3px
|
border-radius: 3px
|
||||||
|
|
||||||
|
.wekan-logo
|
||||||
|
display: block
|
||||||
|
margin: 3px auto 0
|
||||||
|
width: 97px
|
||||||
|
opacity: 0.6
|
||||||
|
transition: opacity 0.15s
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
opacity: 0.9
|
||||||
|
|
||||||
.board-header-btns
|
.board-header-btns
|
||||||
display: block
|
display: block
|
||||||
margin-top: 3px
|
margin-top: 3px
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
head
|
head
|
||||||
title LibreBoard
|
title Wekan
|
||||||
meta(name="viewport"
|
meta(name="viewport"
|
||||||
content="maximum-scale=1.0,width=device-width,initial-scale=1.0,user-scalable=0")
|
content="maximum-scale=1.0,width=device-width,initial-scale=1.0,user-scalable=0")
|
||||||
link(rel="shortcut icon" href="/favicon.png")
|
link(rel="shortcut icon" href="/favicon.png")
|
||||||
|
|
@ -7,7 +7,7 @@ head
|
||||||
template(name="userFormsLayout")
|
template(name="userFormsLayout")
|
||||||
section.auth-layout
|
section.auth-layout
|
||||||
h1.at-form-landing-logo
|
h1.at-form-landing-logo
|
||||||
img(src="/logo.png" title="LibreBoard")
|
img(src="/wekan-logo.png" alt="Wekan")
|
||||||
+Template.dynamic(template=content)
|
+Template.dynamic(template=content)
|
||||||
|
|
||||||
template(name="defaultLayout")
|
template(name="defaultLayout")
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,10 @@
|
||||||
.auth-layout
|
.auth-layout
|
||||||
.at-form-landing-logo
|
.at-form-landing-logo
|
||||||
width: 275px
|
width: 249px
|
||||||
margin: auto
|
margin: auto
|
||||||
margin-top: 50px
|
margin-top: 50px
|
||||||
margin-top: 17vh
|
margin-top: 17vh
|
||||||
|
|
||||||
img
|
|
||||||
width: 275px
|
|
||||||
|
|
||||||
.at-form
|
.at-form
|
||||||
margin: auto
|
margin: auto
|
||||||
width: 275px
|
width: 275px
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@
|
||||||
"search": "Search",
|
"search": "Search",
|
||||||
"computer": "Computer",
|
"computer": "Computer",
|
||||||
"download": "Download",
|
"download": "Download",
|
||||||
"search-member-desc": "Search for a person in LibreBoard by name or email address, or enter an email address to invite someone new.",
|
"search-member-desc": "Search for a person by name or email address, or enter an email address to invite someone new.",
|
||||||
"search-title": "Search for boards, cards, members, and organizations.",
|
"search-title": "Search for boards, cards, members, and organizations.",
|
||||||
"select-color": "Select a color",
|
"select-color": "Select a color",
|
||||||
"send-to-board": "Send to board",
|
"send-to-board": "Send to board",
|
||||||
|
|
|
||||||
72
meta/icons/wekan-128.svg
Normal file
72
meta/icons/wekan-128.svg
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="-10 12 128 128" style="enable-background:new -10 12 128 128;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{opacity:0.6;fill:#D1D1D1;}
|
||||||
|
.st1{clip-path:url(#SVGID_2_);fill:url(#SVGID_3_);}
|
||||||
|
.st2{clip-path:url(#SVGID_2_);fill:none;stroke:#7ADDFC;stroke-miterlimit:10;}
|
||||||
|
.st3{clip-path:url(#SVGID_2_);fill:none;stroke:#529FDD;stroke-miterlimit:10;}
|
||||||
|
.st4{clip-path:url(#SVGID_2_);fill:none;}
|
||||||
|
.st5{clip-path:url(#SVGID_2_);fill:#FFFFFF;}
|
||||||
|
</style>
|
||||||
|
<path class="st0" d="M111.3,139.8H1.2c-3.7,0-6.8-3-6.8-6.8V22.8c0-3.7,3-6.8,6.8-6.8h110.1c3.7,0,6.8,3,6.8,6.8v110.3
|
||||||
|
C118,136.8,115,139.8,111.3,139.8z"/>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<path id="SVGID_1_" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
|
||||||
|
C113.8,132.7,110.7,135.8,107,135.8z"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_2_">
|
||||||
|
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="51.8779" y1="135.7558" x2="51.8779" y2="12">
|
||||||
|
<stop offset="0" style="stop-color:#007C8F"/>
|
||||||
|
<stop offset="0.3707" style="stop-color:#007088"/>
|
||||||
|
<stop offset="1" style="stop-color:#005377"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path class="st1" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
|
||||||
|
C113.8,132.7,110.7,135.8,107,135.8z"/>
|
||||||
|
<path class="st2" d="M81.3,102.6H21.8c-1.7,0-3-1.3-3-3V46.7c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3v52.9
|
||||||
|
C84.3,101.3,83,102.6,81.3,102.6z"/>
|
||||||
|
<path class="st3" d="M81.3,38H21.8c-1.7,0-3-1.3-3-3V-2.4c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3V35C84.3,36.7,83,38,81.3,38z"/>
|
||||||
|
<path class="st3" d="M81.3,151.8H21.8c-1.7,0-3-1.3-3-3v-37.5c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3v37.5
|
||||||
|
C84.3,150.5,83,151.8,81.3,151.8z"/>
|
||||||
|
<path class="st3" d="M153.1,68.6H93.5c-1.7,0-3-1.3-3-3V-1.2c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3v66.9
|
||||||
|
C156.1,67.3,154.7,68.6,153.1,68.6z"/>
|
||||||
|
<path class="st3" d="M153.1,158.8H93.5c-1.7,0-3-1.3-3-3V77.3c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3v78.5
|
||||||
|
C156.1,157.5,154.7,158.8,153.1,158.8z"/>
|
||||||
|
<path class="st3" d="M9.9,68.6h-59.5c-1.7,0-3-1.3-3-3V-1.2c0-1.7,1.3-3,3-3H9.9c1.7,0,3,1.3,3,3v66.9
|
||||||
|
C12.9,67.3,11.6,68.6,9.9,68.6z"/>
|
||||||
|
<path class="st3" d="M9.9,158.8h-59.5c-1.7,0-3-1.3-3-3V77.3c0-1.7,1.3-3,3-3H9.9c1.7,0,3,1.3,3,3v78.5
|
||||||
|
C12.9,157.5,11.6,158.8,9.9,158.8z"/>
|
||||||
|
<path class="st4" d="M100.4,135.8H3.3c-7.4,0-13.3-6-13.3-13.3V25.3C-10,18-4,12,3.3,12h97.1c7.4,0,13.3,6,13.3,13.3v97.1
|
||||||
|
C113.8,129.8,107.8,135.8,100.4,135.8z"/>
|
||||||
|
<path class="st4" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
|
||||||
|
C113.8,132.7,110.7,135.8,107,135.8z"/>
|
||||||
|
<path class="st5" d="M74.5,82.3c0.4-0.6,0.7-1.2,1-1.8c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.1,0-0.2c0-0.1-0.7-0.1-0.9,0.1
|
||||||
|
c-0.2,0.2-0.9,2.3-3.2,4.3c-1.3,1.2-2.8,1.5-4.1,1.4c-1-0.1-1.7-0.7-2.2-1.8c-0.4-1.1-0.5-2.5-0.1-4.2c0.7-3.1,1.5-4.7,2.5-4.7
|
||||||
|
c0.7,0,0.7,1.2,0.1,3.5c-0.5,1.7-1.2,2.8-2.1,3.4c-0.3,0.2-0.4,0.3-0.4,0.4c0,0.1,0.3,0.1,0.7,0c1.5-0.4,3-1,4.2-1.8
|
||||||
|
c1.3-0.8,2-1.6,2.3-2.5c0.2-1-0.1-1.8-0.9-2.5c-0.9-0.7-2-1.1-3.3-1.2c-1.3-0.1-2.6,0.2-3.9,0.7c0,0,0.1-0.1,0.1-0.1
|
||||||
|
c2.1-3.2,3.5-6.2,4.4-9.1c0.9-2.9,0.6-5-0.7-6.4c-0.5-0.4-1.2-0.7-2.2-1c-1.9-0.5-4-1.1-2.4,1c0.2,0.4,0.4,0.8,0.5,1.2
|
||||||
|
c0.3,1.5,0.2,3.4-0.4,5.7c-0.6,2.3-1.4,4.8-2.6,7.3c-1.2,2.5-2.4,4.8-3.8,6.7c-1.4,2-2.7,3.3-4,4.1c0-0.2-0.1-0.4-0.1-0.5
|
||||||
|
c0-0.4,0-0.8,0-1.2c0-0.4,0.1-0.7,0.1-1c0.3-2,0.7-4.1,1.1-6.3c0.5-2.2,0.9-4.2,1.4-6c0.3-1.1,0.5-2,0.6-2.5c0.1-0.5,0-1-0.2-1.2
|
||||||
|
c-0.2-0.3-0.6-0.6-1.3-0.9c-0.4-0.2-0.9-0.5-1.5-0.8c-1.3-0.7-1.3-0.7-1.7,0.6c-0.3,1.2-1,2.8-1.9,5c-0.9,2.2-1.8,4.5-2.9,6.8
|
||||||
|
c-1.1,2.4-2.1,4.3-3,6c-1,1.6-1.8,2.5-2.4,2.5c-0.1,0-0.2-0.1-0.3-0.3c0-0.1-0.1-0.3-0.1-0.6c0-0.4,0-0.8,0.1-1.2
|
||||||
|
c0.1-0.4,0.1-0.7,0.2-1c0.3-1.3,0.6-2.9,1.1-4.7c0.5-1.8,0.9-3.6,1.4-5.4c0.5-1.8,0.9-3.2,1.3-4.5c0.5-1.5,0.8-2.6,0.9-3.1
|
||||||
|
c0.1-0.5-0.2-1-0.8-1.3c-0.5-0.3-1.3-0.7-2.4-1.4c-0.8-0.5-1.2-0.4-2-0.1c-2,0.7-4.1,1.6-6.1,2.6c-2.4,1.2-4.6,2.4-6.4,3.6
|
||||||
|
c-1.8,1.2-3,2.3-3.5,3.3c-0.6,1.2-0.5,2.4,0.2,3.6c0.4,0.6,0.9,1.2,1.5,1.7c2.5,1.7,1.7,0.7,1.9-1.3c0.1-0.7,0.3-1.4,0.7-2
|
||||||
|
c0.8-1.4,2.3-3,4.6-4.8c2.3-1.8,4.7-3.2,7.4-4.3c-0.5,1.8-1,3.8-1.6,5.9c-0.6,2.1-1.1,4.2-1.6,6.2c-0.5,2-0.8,3.6-1.1,5
|
||||||
|
c-0.1,0.7-0.2,1.3-0.2,1.8c0,0.6,0.2,1.1,0.6,1.7c0.4,0.5,0.9,1,1.5,1.3c0.6,0.4,1.2,0.5,1.8,0.5c1.3-0.1,2.5-0.9,3.7-2.6
|
||||||
|
c1.2-1.6,2.3-3.6,3.3-6c1-2.4,1.9-4.7,2.7-6.9c-0.4,1.8-0.7,3.6-1,5.3c-0.3,1.7-0.5,3.3-0.7,4.6c-0.1,0.7-0.1,1.3-0.1,1.8
|
||||||
|
c0,0.6,0.3,1.1,0.7,1.7c0.4,0.5,0.9,1,1.5,1.3c0.6,0.3,1.2,0.5,1.9,0.6c1.3,0,3-1.1,5.2-3.4c0.5-0.5,1.1-1.1,1.6-1.7
|
||||||
|
c-0.1,1.6,0.4,2.8,1.6,3.8c1.4,1.1,3.1,1.6,5,1.7c2,0.1,3.9-0.5,5.5-1.7C72.8,84.4,73.8,83.4,74.5,82.3z"/>
|
||||||
|
<path class="st4" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
|
||||||
|
C113.8,132.7,110.7,135.8,107,135.8z"/>
|
||||||
|
<path class="st4" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
|
||||||
|
C113.8,132.7,110.7,135.8,107,135.8z"/>
|
||||||
|
<path class="st4" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
|
||||||
|
C113.8,132.7,110.7,135.8,107,135.8z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 5.3 KiB |
68
meta/icons/wekan-150.svg
Normal file
68
meta/icons/wekan-150.svg
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="-21 1 150 150" style="enable-background:new -21 1 150 150;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{opacity:0.6;clip-path:url(#SVGID_2_);fill:#D1D1D1;}
|
||||||
|
.st1{clip-path:url(#SVGID_2_);fill:url(#SVGID_3_);}
|
||||||
|
.st2{clip-path:url(#SVGID_2_);fill:none;stroke:#7ADDFC;stroke-miterlimit:10;}
|
||||||
|
.st3{clip-path:url(#SVGID_2_);fill:none;stroke:#529FDD;stroke-miterlimit:10;}
|
||||||
|
.st4{clip-path:url(#SVGID_2_);fill:none;}
|
||||||
|
.st5{clip-path:url(#SVGID_2_);fill:#FFFFFF;}
|
||||||
|
</style>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<rect id="SVGID_1_" x="-21" y="1" width="150" height="150"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_2_">
|
||||||
|
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<path class="st0" d="M127.8,156H-8.7c-3.7,0-6.8-3-6.8-6.8V12.7c0-3.7,3-6.8,6.8-6.8h136.5c3.7,0,6.7,3,6.7,6.8v136.5
|
||||||
|
C134.5,152.9,131.5,156,127.8,156z"/>
|
||||||
|
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="54" y1="151" x2="54" y2="1">
|
||||||
|
<stop offset="0" style="stop-color:#007C8F"/>
|
||||||
|
<stop offset="0.3707" style="stop-color:#007088"/>
|
||||||
|
<stop offset="1" style="stop-color:#005377"/>
|
||||||
|
</linearGradient>
|
||||||
|
<rect x="-21" y="1" class="st1" width="150" height="150"/>
|
||||||
|
<path class="st2" d="M90.3,110.9H16.9c-1.7,0-3-1.3-3-3V42.4c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3v65.4
|
||||||
|
C93.3,109.5,92,110.9,90.3,110.9z"/>
|
||||||
|
<path class="st3" d="M90.3,32.6H16.9c-1.7,0-3-1.3-3-3v-46.7c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3v46.7
|
||||||
|
C93.3,31.2,92,32.6,90.3,32.6z"/>
|
||||||
|
<path class="st3" d="M90.3,170.5H16.9c-1.7,0-3-1.3-3-3v-46.7c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3v46.7
|
||||||
|
C93.3,169.1,92,170.5,90.3,170.5z"/>
|
||||||
|
<path class="st3" d="M177.3,69.7h-73.4c-1.7,0-3-1.3-3-3v-82.3c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3v82.3
|
||||||
|
C180.3,68.3,178.9,69.7,177.3,69.7z"/>
|
||||||
|
<path class="st3" d="M177.3,179h-73.4c-1.7,0-3-1.3-3-3V79.5c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3V176
|
||||||
|
C180.3,177.6,178.9,179,177.3,179z"/>
|
||||||
|
<path class="st3" d="M3.8,69.7h-73.4c-1.7,0-3-1.3-3-3v-82.3c0-1.7,1.3-3,3-3H3.8c1.7,0,3,1.3,3,3v82.3C6.8,68.3,5.4,69.7,3.8,69.7
|
||||||
|
z"/>
|
||||||
|
<path class="st3" d="M3.8,179h-73.4c-1.7,0-3-1.3-3-3V79.5c0-1.7,1.3-3,3-3H3.8c1.7,0,3,1.3,3,3V176C6.8,177.6,5.4,179,3.8,179z"/>
|
||||||
|
<path class="st4" d="M115.7,151H-7.7c-7.4,0-13.3-6-13.3-13.3V14.3C-21,7-15,1-7.7,1h123.3C123,1,129,7,129,14.3v123.3
|
||||||
|
C129,145,123,151,115.7,151z"/>
|
||||||
|
<path class="st4" d="M122.3,151H-14.3c-3.7,0-6.8-3-6.8-6.8V7.8C-21,4-18,1-14.3,1h136.5c3.7,0,6.8,3,6.8,6.8v136.5
|
||||||
|
C129,148,126,151,122.3,151z"/>
|
||||||
|
<path class="st5" d="M81.4,86.2c0.5-0.7,0.9-1.5,1.2-2.2c0.1-0.1,0.1-0.2,0.1-0.4c0-0.1,0.1-0.2,0-0.2c0-0.1-0.8-0.1-1.1,0.1
|
||||||
|
c-0.2,0.2-1.1,2.7-3.9,5.2c-1.6,1.4-3.3,1.9-4.9,1.7c-1.2-0.1-2.1-0.9-2.6-2.2c-0.5-1.4-0.6-3-0.2-5.1c0.8-3.8,1.8-5.7,3.1-5.7
|
||||||
|
c0.8,0,0.9,1.4,0.1,4.3c-0.6,2-1.5,3.4-2.5,4.1c-0.4,0.2-0.5,0.4-0.5,0.5c0,0.2,0.3,0.2,0.8,0c1.9-0.5,3.6-1.2,5.1-2.1
|
||||||
|
c1.5-1,2.5-2,2.8-3c0.3-1.2-0.1-2.2-1.1-3c-1-0.8-2.4-1.3-4-1.4c-1.6-0.1-3.2,0.2-4.7,0.9c0-0.1,0.1-0.1,0.1-0.2
|
||||||
|
c2.5-3.9,4.3-7.5,5.3-11.1c1.1-3.5,0.8-6.1-0.9-7.7c-0.6-0.5-1.5-0.9-2.7-1.2c-2.3-0.6-4.8-1.4-2.9,1.2c0.3,0.5,0.5,1,0.6,1.5
|
||||||
|
c0.4,1.8,0.3,4.1-0.4,6.9c-0.7,2.8-1.8,5.8-3.2,8.8c-1.4,3-2.9,5.8-4.6,8.2c-1.7,2.4-3.3,4.1-4.9,5c-0.1-0.2-0.1-0.4-0.1-0.6
|
||||||
|
c0-0.5,0-1,0-1.5c0-0.5,0.1-0.9,0.1-1.2c0.4-2.4,0.8-5,1.4-7.7c0.6-2.7,1.1-5.1,1.6-7.3c0.4-1.4,0.6-2.4,0.7-3.1
|
||||||
|
c0.1-0.7,0-1.2-0.2-1.5c-0.2-0.3-0.8-0.7-1.6-1.1c-0.5-0.3-1.1-0.6-1.9-1c-1.5-0.9-1.6-0.9-2.1,0.7c-0.4,1.4-1.2,3.4-2.3,6.1
|
||||||
|
c-1,2.7-2.2,5.4-3.5,8.3c-1.3,2.9-2.5,5.3-3.7,7.2c-1.2,2-2.1,3-2.9,3c-0.2,0-0.3-0.1-0.3-0.3c0-0.2-0.1-0.4-0.1-0.7
|
||||||
|
c0-0.5,0.1-1,0.1-1.5c0.1-0.5,0.2-0.9,0.2-1.2c0.3-1.6,0.8-3.5,1.3-5.7c0.6-2.2,1.2-4.4,1.7-6.5c0.6-2.1,1.1-3.9,1.5-5.4
|
||||||
|
c0.6-1.9,1-3.1,1.1-3.8c0.1-0.6-0.3-1.2-1-1.6c-0.6-0.3-1.6-0.9-2.9-1.7c-1-0.6-1.4-0.5-2.4-0.2c-2.5,0.9-4.9,1.9-7.5,3.1
|
||||||
|
c-3,1.4-5.6,2.9-7.8,4.3c-2.2,1.5-3.6,2.8-4.2,4c-0.7,1.5-0.6,3,0.2,4.4c0.5,0.8,1.1,1.5,1.9,2.1c3,2.1,2,0.9,2.3-1.5
|
||||||
|
c0.1-0.9,0.4-1.7,0.8-2.4c1-1.7,2.8-3.6,5.6-5.8c2.7-2.1,5.7-3.9,9-5.2c-0.6,2.2-1.2,4.6-1.9,7.2c-0.7,2.6-1.3,5.1-1.9,7.5
|
||||||
|
c-0.6,2.4-1,4.4-1.3,6c-0.2,0.8-0.2,1.5-0.2,2.2c0,0.7,0.3,1.4,0.7,2.1c0.5,0.7,1.1,1.2,1.8,1.6c0.7,0.4,1.4,0.6,2.2,0.6
|
||||||
|
c1.6-0.1,3.1-1.1,4.5-3.1c1.5-2,2.8-4.4,4-7.2c1.2-2.8,2.3-5.6,3.2-8.4c-0.5,2.2-0.9,4.4-1.2,6.5c-0.4,2.1-0.6,4-0.8,5.6
|
||||||
|
c-0.1,0.8-0.1,1.5-0.1,2.2c0.1,0.7,0.4,1.4,0.9,2.1c0.5,0.7,1.1,1.2,1.9,1.6c0.7,0.4,1.5,0.6,2.3,0.7c1.5,0,3.6-1.4,6.3-4.1
|
||||||
|
c0.6-0.7,1.3-1.4,1.9-2.1c-0.1,1.9,0.5,3.4,2,4.5c1.7,1.3,3.7,2,6.1,2.1c2.4,0.1,4.7-0.7,6.6-2.1C79.4,88.7,80.5,87.5,81.4,86.2z"
|
||||||
|
/>
|
||||||
|
<path class="st4" d="M122.3,151H-14.3c-3.7,0-6.8-3-6.8-6.8V7.8C-21,4-18,1-14.3,1h136.5c3.7,0,6.8,3,6.8,6.8v136.5
|
||||||
|
C129,148,126,151,122.3,151z"/>
|
||||||
|
<path class="st4" d="M122.3,151H-14.3c-3.7,0-6.8-3-6.8-6.8V7.8C-21,4-18,1-14.3,1H129v143.3C129,148,126,151,122.3,151z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 5 KiB |
34
meta/icons/wekan-24.svg
Normal file
34
meta/icons/wekan-24.svg
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="-62 64 24 24" style="enable-background:new -62 64 24 24;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:url(#SVGID_1_);}
|
||||||
|
.st1{fill:#FFFFFF;}
|
||||||
|
</style>
|
||||||
|
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-50" y1="88" x2="-50" y2="64">
|
||||||
|
<stop offset="0" style="stop-color:#007C8F"/>
|
||||||
|
<stop offset="0.3707" style="stop-color:#007088"/>
|
||||||
|
<stop offset="1" style="stop-color:#005377"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path class="st0" d="M-39.2,88h-21.7c-0.6,0-1.2-0.5-1.2-1.2V65.2c0-0.6,0.5-1.2,1.2-1.2h21.7c0.6,0,1.2,0.5,1.2,1.2v21.7
|
||||||
|
C-38,87.5-38.5,88-39.2,88z"/>
|
||||||
|
<path class="st1" d="M-40.3,79.8c0.2-0.2,0.3-0.5,0.4-0.8c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0,0-0.3,0-0.4,0
|
||||||
|
c-0.1,0.1-0.4,0.9-1.3,1.8c-0.5,0.5-1.1,0.6-1.7,0.6c-0.4,0-0.7-0.3-0.9-0.8c-0.2-0.5-0.2-1-0.1-1.7c0.3-1.3,0.6-1.9,1.1-1.9
|
||||||
|
c0.3,0,0.3,0.5,0,1.5c-0.2,0.7-0.5,1.2-0.9,1.4c-0.1,0.1-0.2,0.1-0.2,0.2c0,0.1,0.1,0.1,0.3,0c0.6-0.2,1.2-0.4,1.8-0.7
|
||||||
|
c0.5-0.3,0.8-0.7,0.9-1c0.1-0.4,0-0.7-0.4-1c-0.4-0.3-0.8-0.5-1.4-0.5c-0.6,0-1.1,0.1-1.6,0.3c0,0,0,0,0-0.1
|
||||||
|
c0.9-1.3,1.5-2.6,1.8-3.8c0.4-1.2,0.3-2.1-0.3-2.6c-0.2-0.2-0.5-0.3-0.9-0.4c-0.8-0.2-1.6-0.5-1,0.4c0.1,0.2,0.2,0.3,0.2,0.5
|
||||||
|
c0.1,0.6,0.1,1.4-0.1,2.4c-0.2,1-0.6,2-1.1,3c-0.5,1-1,2-1.6,2.8c-0.6,0.8-1.1,1.4-1.7,1.7c0-0.1,0-0.1,0-0.2c0-0.2,0-0.3,0-0.5
|
||||||
|
c0-0.2,0-0.3,0-0.4c0.1-0.8,0.3-1.7,0.5-2.6c0.2-0.9,0.4-1.8,0.6-2.5c0.1-0.5,0.2-0.8,0.3-1.1c0-0.2,0-0.4-0.1-0.5
|
||||||
|
c-0.1-0.1-0.3-0.2-0.5-0.4c-0.2-0.1-0.4-0.2-0.6-0.3c-0.5-0.3-0.6-0.3-0.7,0.2c-0.1,0.5-0.4,1.2-0.8,2.1c-0.4,0.9-0.8,1.9-1.2,2.8
|
||||||
|
c-0.4,1-0.9,1.8-1.3,2.5c-0.4,0.7-0.7,1-1,1c-0.1,0-0.1,0-0.1-0.1c0-0.1,0-0.1,0-0.2c0-0.2,0-0.3,0-0.5c0-0.2,0.1-0.3,0.1-0.4
|
||||||
|
c0.1-0.5,0.3-1.2,0.5-1.9s0.4-1.5,0.6-2.2c0.2-0.7,0.4-1.3,0.5-1.8c0.2-0.6,0.3-1.1,0.4-1.3c0-0.2-0.1-0.4-0.4-0.5
|
||||||
|
c-0.2-0.1-0.5-0.3-1-0.6c-0.3-0.2-0.5-0.2-0.8-0.1c-0.8,0.3-1.7,0.7-2.5,1.1c-1,0.5-1.9,1-2.6,1.5c-0.8,0.5-1.2,1-1.4,1.4
|
||||||
|
c-0.2,0.5-0.2,1,0.1,1.5c0.2,0.3,0.4,0.5,0.6,0.7c1,0.7,0.7,0.3,0.8-0.5c0-0.3,0.1-0.6,0.3-0.8c0.3-0.6,1-1.2,1.9-2
|
||||||
|
c0.9-0.7,2-1.3,3.1-1.8c-0.2,0.8-0.4,1.6-0.7,2.5c-0.2,0.9-0.5,1.7-0.7,2.6c-0.2,0.8-0.3,1.5-0.4,2.1c-0.1,0.3-0.1,0.5-0.1,0.8
|
||||||
|
c0,0.2,0.1,0.5,0.3,0.7c0.2,0.2,0.4,0.4,0.6,0.6c0.2,0.1,0.5,0.2,0.7,0.2c0.5,0,1-0.4,1.5-1.1c0.5-0.7,1-1.5,1.4-2.5
|
||||||
|
c0.4-1,0.8-1.9,1.1-2.9c-0.2,0.7-0.3,1.5-0.4,2.2c-0.1,0.7-0.2,1.4-0.3,1.9c0,0.3,0,0.5,0,0.8c0,0.2,0.1,0.5,0.3,0.7
|
||||||
|
c0.2,0.2,0.4,0.4,0.6,0.5c0.2,0.1,0.5,0.2,0.8,0.2c0.5,0,1.2-0.5,2.1-1.4c0.2-0.2,0.4-0.5,0.7-0.7c0,0.7,0.2,1.2,0.7,1.6
|
||||||
|
c0.6,0.4,1.3,0.7,2.1,0.7c0.8,0,1.6-0.2,2.3-0.7C-41,80.7-40.6,80.3-40.3,79.8z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/logo.png
BIN
public/logo.png
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB |
BIN
public/wekan-logo-header.png
Normal file
BIN
public/wekan-logo-header.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/wekan-logo.png
Normal file
BIN
public/wekan-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
|
|
@ -19,13 +19,13 @@ const pkgdef :Spk.PackageDefinition = (
|
||||||
# This manifest is included in our app package to tell Sandstorm about our
|
# This manifest is included in our app package to tell Sandstorm about our
|
||||||
# app.
|
# app.
|
||||||
|
|
||||||
appTitle = (defaultText = "LibreBoard"),
|
appTitle = (defaultText = "Wekan"),
|
||||||
# The name of the app as it is displayed to the user.
|
# The name of the app as it is displayed to the user.
|
||||||
|
|
||||||
appVersion = 3,
|
appVersion = 3,
|
||||||
# Increment this for every release.
|
# Increment this for every release.
|
||||||
|
|
||||||
appMarketingVersion = (defaultText = "0.9.0_beta1"),
|
appMarketingVersion = (defaultText = "0.9.0_rc1"),
|
||||||
# Human-readable presentation of the app version.
|
# Human-readable presentation of the app version.
|
||||||
|
|
||||||
minUpgradableAppVersion = 0,
|
minUpgradableAppVersion = 0,
|
||||||
|
|
@ -51,18 +51,14 @@ const pkgdef :Spk.PackageDefinition = (
|
||||||
# case.
|
# case.
|
||||||
|
|
||||||
metadata = (
|
metadata = (
|
||||||
# icons = (
|
icons = (
|
||||||
# appGrid = (svg = embed "meta/icons/libreboard-128.svg"),
|
appGrid = (svg = embed "meta/icons/wekan-128.svg"),
|
||||||
# grain = (svg = embed "meta/icons/libreboard-24.svg"),
|
grain = (svg = embed "meta/icons/wekan-24.svg"),
|
||||||
# market = (svg = embed "meta/icons/libreboard-150.svg"),
|
market = (svg = embed "meta/icons/wekan-150.svg"),
|
||||||
# ),
|
),
|
||||||
# XXX We currently don't have an icon, because the bird image included in
|
|
||||||
# previous version was a copyright infringement, see
|
|
||||||
# https://github.com/libreboard/libreboard/issues/64.
|
|
||||||
# I have an idea to replace it but it's not ready yet.
|
|
||||||
|
|
||||||
website = "http://libreboard.com",
|
website = "http://libreboard.com",
|
||||||
codeUrl = "https://github.com/libreboard/libreboard",
|
codeUrl = "https://github.com/wekan/wekan",
|
||||||
license = (openSource = mit),
|
license = (openSource = mit),
|
||||||
categories = [productivity, office],
|
categories = [productivity, office],
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ var sandstormBoard = {
|
||||||
_id: 'sandstorm',
|
_id: 'sandstorm',
|
||||||
|
|
||||||
// XXX Should be shared with the grain instance name.
|
// XXX Should be shared with the grain instance name.
|
||||||
title: 'LibreBoard',
|
title: 'Wekan',
|
||||||
slug: 'libreboard',
|
slug: 'libreboard',
|
||||||
|
|
||||||
// Board access security is handled by sandstorm, so in our point of view we
|
// Board access security is handled by sandstorm, so in our point of view we
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ Migrations.add('lowercase-board-permission', function() {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Security migration: see https://github.com/libreboard/libreboard/issues/99
|
// Security migration: see https://github.com/wekan/wekan/issues/99
|
||||||
Migrations.add('change-attachments-type-for-non-images', function() {
|
Migrations.add('change-attachments-type-for-non-images', function() {
|
||||||
var newTypeForNonImage = 'application/octet-stream';
|
var newTypeForNonImage = 'application/octet-stream';
|
||||||
Attachments.find().forEach(function(file) {
|
Attachments.find().forEach(function(file) {
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ Meteor.publishComposite('board', function(boardId) {
|
||||||
// a similar problem:
|
// a similar problem:
|
||||||
//
|
//
|
||||||
// https://github.com/Goluis/cottz-publish/issues/4
|
// https://github.com/Goluis/cottz-publish/issues/4
|
||||||
// https://github.com/libreboard/libreboard/pull/78
|
// https://github.com/wekan/wekan/pull/78
|
||||||
//
|
//
|
||||||
// The current state of relational publishing in meteor is a bit sad,
|
// The current state of relational publishing in meteor is a bit sad,
|
||||||
// there are a lot of various packages, with various APIs, some of them
|
// there are a lot of various packages, with various APIs, some of them
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue