From 84f49fa7a11065f6ca21057d532011e2f4d51300 Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Fri, 28 Aug 2015 09:50:41 +0200 Subject: [PATCH] Call me Wekan Thank you @neynah for the Wekan icons Closes #247 --- .meteor/versions | 2 +- Contributing.md | 29 +++++------ Dockerfile | 6 +-- History.md | 7 +-- README.md | 22 ++++---- client/components/lists/listBody.js | 2 +- client/components/main/header.jade | 8 ++- client/components/main/header.styl | 10 ++++ client/components/main/layouts.jade | 4 +- client/components/users/userForm.styl | 5 +- i18n/ar.i18n.json | 2 +- meta/icons/wekan-128.svg | 72 ++++++++++++++++++++++++++ meta/icons/wekan-150.svg | 68 ++++++++++++++++++++++++ meta/icons/wekan-24.svg | 34 ++++++++++++ public/logo.png | Bin 13517 -> 0 bytes public/wekan-logo-header.png | Bin 0 -> 2504 bytes public/wekan-logo.png | Bin 0 -> 11813 bytes sandstorm-pkgdef.capnp | 20 +++---- sandstorm.js | 2 +- server/migrations.js | 2 +- server/publications/boards.js | 2 +- 21 files changed, 240 insertions(+), 57 deletions(-) create mode 100644 meta/icons/wekan-128.svg create mode 100644 meta/icons/wekan-150.svg create mode 100644 meta/icons/wekan-24.svg delete mode 100644 public/logo.png create mode 100644 public/wekan-logo-header.png create mode 100644 public/wekan-logo.png diff --git a/.meteor/versions b/.meteor/versions index 256d69c61..f46ee661d 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -3,7 +3,7 @@ accounts-password@1.1.2-rc.0 aldeed:collection2@2.3.3 aldeed:simple-schema@1.3.3 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 autoupdate@1.2.3-rc.0 babel-compiler@5.8.20-rc.0 diff --git a/Contributing.md b/Contributing.md index cfd672160..d90c4bedc 100644 --- a/Contributing.md +++ b/Contributing.md @@ -1,19 +1,18 @@ # 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 opening a new thread please verify that your issue hasn’t already been reported. - + ## Translations -You are encouraged to translate (or improve the translation of) LibreBoard in -your locale language. For that purpose we rely on -[Transifex](https://www.transifex.com/projects/p/libreboard). So the first step -is to create a Transifex account if you don’t have one already. You can then -send a request to join one of the translation teams. If there we will create a -new one. +You are encouraged to translate (or improve the translation of) Wekan in your +locale language. For that purpose we rely on +[Transifex](https://www.transifex.com/projects/p/wekan). So the first step is to +create a Transifex account if you don’t have one already. You can then send a +request to join one of the translation teams. If there we will create a new one. 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) @@ -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 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 again for the final release. ## Installation -LibreBoard is made with [Meteor](https://www.meteor.com). Thus the easiest way -to start hacking is by installing the framework, cloning the git repository, and +Wekan is made with [Meteor](https://www.meteor.com). Thus the easiest way to +start hacking is by installing the framework, cloning the git repository, and launching the application: ```bash $ curl https://install.meteor.com/ | sh # On Mac or Linux -$ git clone https://github.com/libreboard/libreboard.git -$ cd libreboard +$ git clone https://github.com/wekan/wekan.git +$ cd wekan $ meteor ``` -As for any Meteor application, LibreBoard is automatically refreshed when you -change any file of the source code, just play with it to see how it behaves! +As for any Meteor application, Wekan is automatically refreshed when you change +any file of the source code, just play with it to see how it behaves! ## Style guide diff --git a/Dockerfile b/Dockerfile index 8efa0490d..5ddeaeda0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,6 @@ FROM meteorhacks/meteord:onbuild MAINTAINER Maxime Quandalle # Run as you wish! -# docker run -d --name libreboard-db mongo -# docker run -d --link "libreboard-db:db" -e "MONGO_URL=mongodb://db" \ -# -e "ROOT_URL=http://example.com" -p 8080:80 mquandalle/libreboard +# docker run -d --name wekan-db mongo +# docker run -d --link "wekan-db:db" -e "MONGO_URL=mongodb://db" \ +# -e "ROOT_URL=http://example.com" -p 8080:80 mquandalle/wekan diff --git a/History.md b/History.md index e8d8a4c14..a7ce98b94 100644 --- a/History.md +++ b/History.md @@ -17,14 +17,15 @@ security. It also features the following improvements: Starting from this release we will also distribute official docker images on both the -[GitHub release page](https://github.com/libreboard/libreboard/releases) +[GitHub release page](https://github.com/wekan/wekan/releases) 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. 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 diff --git a/README.md b/README.md index 6f2621e80..c1ff72451 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,23 @@ -# LibreBoard +# Wekan -LibreBoard is an open-source *kanban* board that let you organize things in -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 -and you can implement all sort of workflows on it using tags, comments, member -assignation, and many more. + + +Wekan is an open-source *kanban* board that let you organize things in cards, +and cards in lists. You can use it alone, or with your team and family thanks to +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] 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 -do that by providing one-click installation for the +install Wekan on your own computer or server. In fact we encourage you to do +that by providing one-click installation for the [Sandstorm](https://sandstorm.io) platform and verified [Docker](https://www.docker.com) images. -LibreBoard is released under the very permissive [MIT license](LICENSE), and -made with [Meteor](https://www.meteor.com). +Wekan is released under the very permissive [MIT license](LICENSE), and made +with [Meteor](https://www.meteor.com). [Our roadmap is self-hosted on LibreBoard][roadmap] diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js index 27864474e..2b561ae38 100644 --- a/client/components/lists/listBody.js +++ b/client/components/lists/listBody.js @@ -45,7 +45,7 @@ BlazeComponent.extendComponent({ // 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 // card will disappear instantly. - // See https://github.com/libreboard/libreboard/issues/80 + // See https://github.com/wekan/wekan/issues/80 Filter.addException(_id); // We keep the form opened, empty it, and scroll to it. diff --git a/client/components/main/header.jade b/client/components/main/header.jade index da7999cf7..9eeb843bb 100644 --- a/client/components/main/header.jade +++ b/client/components/main/header.jade @@ -34,11 +34,15 @@ template(name="header") #header-main-bar(class="{{#if wrappedHeader}}wrapper{{/if}}") if $.Session.get 'currentBoard' +headerBoard - else + else if($eq currentRouteName 'home') +headerTitle + a.wekan-logo(href="{{pathFor 'home'}}") + img(src="/wekan-logo-header.png" alt="Wekan") + template(name="headerTitle") - h1 LibreBoard + h1 My Boards + .board-header-btns.right a.board-header-btn.js-open-archived-board i.fa.fa-archive diff --git a/client/components/main/header.styl b/client/components/main/header.styl index e31f09928..d4edd82f9 100644 --- a/client/components/main/header.styl +++ b/client/components/main/header.styl @@ -75,6 +75,16 @@ float: left 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 display: block margin-top: 3px diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade index 7a1fa8a2d..3ea5acc5c 100644 --- a/client/components/main/layouts.jade +++ b/client/components/main/layouts.jade @@ -1,5 +1,5 @@ head - title LibreBoard + title Wekan meta(name="viewport" content="maximum-scale=1.0,width=device-width,initial-scale=1.0,user-scalable=0") link(rel="shortcut icon" href="/favicon.png") @@ -7,7 +7,7 @@ head template(name="userFormsLayout") section.auth-layout h1.at-form-landing-logo - img(src="/logo.png" title="LibreBoard") + img(src="/wekan-logo.png" alt="Wekan") +Template.dynamic(template=content) template(name="defaultLayout") diff --git a/client/components/users/userForm.styl b/client/components/users/userForm.styl index 2117bfcba..9b6e86ced 100644 --- a/client/components/users/userForm.styl +++ b/client/components/users/userForm.styl @@ -1,13 +1,10 @@ .auth-layout .at-form-landing-logo - width: 275px + width: 249px margin: auto margin-top: 50px margin-top: 17vh - img - width: 275px - .at-form margin: auto width: 275px diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 811d98858..12b10ef6d 100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -131,7 +131,7 @@ "search": "Search", "computer": "Computer", "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.", "select-color": "Select a color", "send-to-board": "Send to board", diff --git a/meta/icons/wekan-128.svg b/meta/icons/wekan-128.svg new file mode 100644 index 000000000..d6e1ac5be --- /dev/null +++ b/meta/icons/wekan-128.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta/icons/wekan-150.svg b/meta/icons/wekan-150.svg new file mode 100644 index 000000000..51d4eedec --- /dev/null +++ b/meta/icons/wekan-150.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta/icons/wekan-24.svg b/meta/icons/wekan-24.svg new file mode 100644 index 000000000..d19a65a8e --- /dev/null +++ b/meta/icons/wekan-24.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + diff --git a/public/logo.png b/public/logo.png deleted file mode 100644 index 6fea7167bcda6d70f26baea750c5ce38ceb7747a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13517 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