diff --git a/README.md b/README.md
index cd42699..64281fa 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,19 @@
-# Ecogood Portal Page
+# ECG portal page
-This SPA shows a list of the available ECG web applications.
+This SPA shows a list of all available ECG web applications managed by the IT Hub.

## Features
-- generated static website powered a small python script
+- Generates a static website powered a small python script
- easily extensible by a YAML definition
-- responsive layout
+- Responsive layout
- Respects Privacy and Security by being ready for CSP and RP
## Build
- python3 build.py items.yml
+ python3 build.py items_page_1.yml index.html ; python3 build.py items_page_2.yml index2.html
## Deployment
@@ -29,3 +29,6 @@ chmod +x build+deploy.sh
- clean the output folder
- build the project
- upload to the remote SSH target
+
+## Roadmap
+- Provide localized versions of the portal
diff --git a/build.py b/build.py
index 26641a8..cd987d7 100755
--- a/build.py
+++ b/build.py
@@ -14,6 +14,7 @@ content_folder = os.path.join(__location__, 'content')
output_folder = os.path.join(__location__, 'dist')
config_file = sys.argv[1]
+output_file = sys.argv[2]
yaml = YAML(typ='safe')
@@ -28,18 +29,26 @@ template_item_text = codecs.open(os.path.join(content_folder, 'item.tmpl.html'),
encoding='utf-8').read()
template_item = Template(template_item_text)
-items = ''
+navigation_item_text = codecs.open(os.path.join(content_folder, 'navigation.tmpl.html'), 'r',
+ encoding='utf-8').read()
+navigation_item = Template(navigation_item_text)
-for config_item in config['items']:
- items += template_item.substitute(config_item)
+items = ''
+navigation = ''
+
+for config_item_1 in config['items']:
+ items += template_item.substitute(config_item_1)
+
+for config_item_2 in config['navigation']:
+ navigation += navigation_item.substitute(config_item_2)
template_page_text = codecs.open(os.path.join(content_folder, 'index.tmpl.html'), 'r', encoding='utf-8').read()
template_page = Template(template_page_text)
-outcome = template_page.substitute(items=items)
+outcome = template_page.substitute(items=items, nav=navigation)
os.makedirs(output_folder, exist_ok=True)
-outfile_index = os.path.join(output_folder, 'index.html')
+outfile_index = os.path.join(output_folder, output_file)
copy_tree(static_folder, output_folder)
diff --git a/content/index.tmpl.html b/content/index.tmpl.html
index 8b03d27..329d19a 100644
--- a/content/index.tmpl.html
+++ b/content/index.tmpl.html
@@ -1,21 +1,50 @@
+
- ECG portal
-
-
-
-
-
+
+
+
+ ECG portal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
This is your ECG start page where you find shortcuts to all tools you can access inside ECG.
-
+
+
diff --git a/content/navigation.tmpl.html b/content/navigation.tmpl.html
new file mode 100644
index 0000000..26b4bf4
--- /dev/null
+++ b/content/navigation.tmpl.html
@@ -0,0 +1 @@
+$text
\ No newline at end of file
diff --git a/docs/screenshot.png b/docs/screenshot.png
index ec139b3..9e02a04 100644
Binary files a/docs/screenshot.png and b/docs/screenshot.png differ
diff --git a/items.yml b/items_page_1.yml
similarity index 53%
rename from items.yml
rename to items_page_1.yml
index 5d4db75..d7ea74d 100644
--- a/items.yml
+++ b/items_page_1.yml
@@ -11,47 +11,27 @@ items:
title: Webmail
description: "Email client in your web browser"
cssClass: mail
- - url: https://wiki.ecogood.org/display/INTERN/Mailinglisten-Anmeldung
- title: Mailinglists
- description: "Information distribution lists via email"
- cssClass: maillist
- - url: https://datacloud.ecogood.org/apps/calendar/
- title: Calendar
- description: Manage and share calendars
- cssClass: cloud
- - url: https://datacloud.ecogood.org/apps/contacts/
- title: Contacts
- description: Manage and share contacts
- cssClass: cloud
- - url: https://datacloud.ecogood.org/apps/polls/
- title: Polls
- description: "Schedule meetings
(like Doodle®)"
- cssClass: cloud
- - url: https://datacloud.ecogood.org/apps/deck/
- title: Deck
- description: KanBan Board
(like Trello®)
- cssClass: cloud
- url: https://chat.ecogood.org
title: Chat
description: "Chat directly or within channels and groups
(like Slack®)"
cssClass: chat
- - url: https://survey.ecogood.org/index.php/admin
- title: LimeSurvey
- description: "Create and send complex surveys"
- cssClass: survey
- - url: https://git.ecogood.org
- title: Gitea
- description: "Code hosting and collaboration platform"
- cssClass: code
- - url: https://my.ecogood.org/index_extended.html
- title: Page 2
- description: "I want to see more IT tools"
- cssClass: next
- - url: https://login.smartwe.de/SmartWe/
- title: SmartWe
- description: "Manage all data regarding ECG membership"
- cssClass: smartwe
- - url: https://jira.ecogood.org
- title: JIRA
- description: "Ticketing system"
- cssClass: projekte
+ - url: https://datacloud.ecogood.org/apps/calendar/
+ title: Calendar
+ description: Manage and share calendars
+ cssClass: calendar
+ - url: https://datacloud.ecogood.org/apps/contacts/
+ title: Contacts
+ description: Manage and share contacts
+ cssClass: contacts
+ - url: https://datacloud.ecogood.org/apps/polls/
+ title: Polls
+ description: "Schedule meetings
(like Doodle®)"
+ cssClass: polls
+ - url: https://datacloud.ecogood.org/apps/deck/
+ title: Deck
+ description: KanBan Board
(like Trello®)
+ cssClass: deck
+navigation:
+ - text: Next page
+ target: index2.html
+ cssClass: float-right
diff --git a/items_page_2.yml b/items_page_2.yml
new file mode 100644
index 0000000..051256b
--- /dev/null
+++ b/items_page_2.yml
@@ -0,0 +1,33 @@
+items:
+ - url: https://wiki.ecogood.org/display/INTERN/Mailinglisten-Anmeldung
+ title: Mailinglists
+ description: "Information distribution lists via email"
+ cssClass: maillist
+ - url: https://survey.ecogood.org/index.php/admin
+ title: LimeSurvey
+ description: "Create and send complex surveys"
+ cssClass: survey
+ - url: https://git.ecogood.org
+ title: Gitea
+ description: "Code hosting and collaboration platform"
+ cssClass: code
+ - url: https://login.smartwe.de/SmartWe/
+ title: SmartWe
+ description: "Manage all data regarding ECG membership"
+ cssClass: smartwe
+ - url: https://jira.ecogood.org
+ title: JIRA
+ description: "Ticketing system"
+ cssClass: projekte
+ - url: https://audit.ecogood.org
+ title: Audit tool
+ description: "Database of all balanced companies"
+ cssClass: audittool
+ - url: https://audit.ecogood.org/ecg-map-companies-associations-chapters/
+ title: ECG map
+ description: "Map with markers of the entire international movement"
+ cssClass: map
+navigation:
+ - text: Previous page
+ target: index.html
+ cssClass: float-left
\ No newline at end of file
diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png
new file mode 100644
index 0000000..573e037
Binary files /dev/null and b/static/android-chrome-192x192.png differ
diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png
new file mode 100644
index 0000000..e852bab
Binary files /dev/null and b/static/apple-touch-icon.png differ
diff --git a/static/background.png b/static/background.png
index 08d9582..0a469db 100644
Binary files a/static/background.png and b/static/background.png differ
diff --git a/static/browserconfig.xml b/static/browserconfig.xml
new file mode 100644
index 0000000..b3930d0
--- /dev/null
+++ b/static/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #da532c
+
+
+
diff --git a/static/ecg-portal-logo.png b/static/ecg-portal-logo.png
index e7bdaa9..a4e2a04 100644
Binary files a/static/ecg-portal-logo.png and b/static/ecg-portal-logo.png differ
diff --git a/static/ecogood.css b/static/ecogood.css
index fac564c..3ffa5ad 100644
--- a/static/ecogood.css
+++ b/static/ecogood.css
@@ -15,17 +15,42 @@ a {
margin: auto;
}
-.heading-summary {
+.nav-container {
+ clear: both;
+}
+
+.nav {
+ margin-top: 1rem;
+ background-color: #747474;
+ border: none;
+ color: #fff;
+ padding: 10px 16px;
+ text-decoration: none;
+ display: inline-block;
+}
+
+.nav:hover {
+ opacity: 0.75;
+}
+
+.float-left {
+ float: left;
+}
+
+.float-right {
+ float: right;
+}
+
+.center {
text-align: center;
- background-color: #deffbc;
- margin: auto;
- width: auto;
- margin-left: auto;
- margin-right: auto;
- width: 48rem;
- padding: 0.5rem;
- border: 1px solid #9ace3e;
- border-radius: 0.25rem;
+}
+
+.footer {
+ margin-top: 10rem;
+}
+
+.footer > p > a, .footer > p > a:visited, .footer > p > a:active {
+ color: #747474;
}
.epframe {
@@ -42,6 +67,11 @@ a {
margin: 0.5%;
display: inline-block;
background-size: cover;
+ opacity: 1;
+}
+
+.epsquare:hover {
+ opacity: 0.75;
}
.eptextfunc {
@@ -66,7 +96,7 @@ a {
}
.epcolprojekte {
- background-color: #889e33;
+ background-color: #97a141;
background-image: url(epprojekte.png);
}
@@ -76,7 +106,7 @@ a {
}
.epcolmaillist {
- background-color: #889e33;
+ background-color: #0aa6df;
background-image: url(epmaillist.png);
}
@@ -85,6 +115,26 @@ a {
background-image: url(epcloud.png);
}
+.epcolcalendar {
+ background-color: #3B6CA6;
+ background-image: url(epcalendar.png);
+}
+
+.epcolcontacts {
+ background-color: #3B6CA6;
+ background-image: url(epcontacts.png);
+}
+
+.epcolpolls {
+ background-color: #3B6CA6;
+ background-image: url(eppolls.png);
+}
+
+.epcoldeck {
+ background-color: #3B6CA6;
+ background-image: url(epdeck.png);
+}
+
.epcolsmartwe {
background-color: #E05656;
background-image: url(epsmartwe.png);
@@ -102,13 +152,24 @@ a {
.epcolsurvey {
background-color: #42ac00;
- background-image: url(epsmartwe.png);
+ background-image: url(epsurvey.png);
}
-.epcolnext {
- background-color: #b694ff;
- background-image: url(epnext.png);
+.epcolmap {
+ background-color: #008600;
+ background-image: url(epmap.png);
}
+
+.epcolaudittool {
+ background-color: #7ca399;
+ background-image: url(epaudittool.png);
+}
+
+.epcolprevious {
+ background-color: #b694ff;
+ background-image: url(epprevious.png);
+}
+
@media only screen and (max-width: 900px) {
.epsquare {
width: 30%;
diff --git a/static/epaudittool.png b/static/epaudittool.png
new file mode 100644
index 0000000..326269d
Binary files /dev/null and b/static/epaudittool.png differ
diff --git a/static/epcalendar.png b/static/epcalendar.png
new file mode 100644
index 0000000..b145ea1
Binary files /dev/null and b/static/epcalendar.png differ
diff --git a/static/epchat.png b/static/epchat.png
index f6bcc3c..2a526cb 100644
Binary files a/static/epchat.png and b/static/epchat.png differ
diff --git a/static/epcloud.png b/static/epcloud.png
index 9df3125..3bd0940 100644
Binary files a/static/epcloud.png and b/static/epcloud.png differ
diff --git a/static/epcode.png b/static/epcode.png
index 500dab8..f4b04b1 100644
Binary files a/static/epcode.png and b/static/epcode.png differ
diff --git a/static/epcontacts.png b/static/epcontacts.png
new file mode 100644
index 0000000..f03741a
Binary files /dev/null and b/static/epcontacts.png differ
diff --git a/static/epdeck.png b/static/epdeck.png
new file mode 100644
index 0000000..d27e2e6
Binary files /dev/null and b/static/epdeck.png differ
diff --git a/static/epecg.png b/static/epecg.png
deleted file mode 100644
index b725c42..0000000
Binary files a/static/epecg.png and /dev/null differ
diff --git a/static/epmail.png b/static/epmail.png
index 1c91f62..6fa3854 100644
Binary files a/static/epmail.png and b/static/epmail.png differ
diff --git a/static/epmaillist.png b/static/epmaillist.png
index db319fb..53dc55b 100644
Binary files a/static/epmaillist.png and b/static/epmaillist.png differ
diff --git a/static/epmap.png b/static/epmap.png
new file mode 100644
index 0000000..4174c2c
Binary files /dev/null and b/static/epmap.png differ
diff --git a/static/epnext.png b/static/epnext.png
deleted file mode 100644
index 55c880b..0000000
Binary files a/static/epnext.png and /dev/null differ
diff --git a/static/eppolls.png b/static/eppolls.png
new file mode 100644
index 0000000..95b00f3
Binary files /dev/null and b/static/eppolls.png differ
diff --git a/static/epprojekte.png b/static/epprojekte.png
index f3d8b2f..2b09b2c 100644
Binary files a/static/epprojekte.png and b/static/epprojekte.png differ
diff --git a/static/epsmartwe.png b/static/epsmartwe.png
index cc0a249..093b8da 100644
Binary files a/static/epsmartwe.png and b/static/epsmartwe.png differ
diff --git a/static/epsurvey.png b/static/epsurvey.png
new file mode 100644
index 0000000..6a79988
Binary files /dev/null and b/static/epsurvey.png differ
diff --git a/static/epwiki.png b/static/epwiki.png
index 5e71ab8..e704567 100644
Binary files a/static/epwiki.png and b/static/epwiki.png differ
diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png
new file mode 100644
index 0000000..2ca0d1f
Binary files /dev/null and b/static/favicon-16x16.png differ
diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png
new file mode 100644
index 0000000..a5dafe4
Binary files /dev/null and b/static/favicon-32x32.png differ
diff --git a/static/favicon.ico b/static/favicon.ico
new file mode 100644
index 0000000..ca5b394
Binary files /dev/null and b/static/favicon.ico differ
diff --git a/static/favicon.png b/static/favicon.png
new file mode 100644
index 0000000..d9343b8
Binary files /dev/null and b/static/favicon.png differ
diff --git a/static/gwoe-arbeitsbuch-5k.jpg b/static/gwoe-arbeitsbuch-5k.jpg
deleted file mode 100644
index 3ef92b6..0000000
Binary files a/static/gwoe-arbeitsbuch-5k.jpg and /dev/null differ
diff --git a/static/gwoe-arbeitsbuch-5v.jpg b/static/gwoe-arbeitsbuch-5v.jpg
deleted file mode 100644
index 436e584..0000000
Binary files a/static/gwoe-arbeitsbuch-5v.jpg and /dev/null differ
diff --git a/static/gwoe-regelwerk.jpg b/static/gwoe-regelwerk.jpg
deleted file mode 100644
index 2a9b894..0000000
Binary files a/static/gwoe-regelwerk.jpg and /dev/null differ
diff --git a/static/metaimage.jpg b/static/metaimage.jpg
new file mode 100644
index 0000000..8510b77
Binary files /dev/null and b/static/metaimage.jpg differ
diff --git a/static/mstile-150x150.png b/static/mstile-150x150.png
new file mode 100644
index 0000000..c56703a
Binary files /dev/null and b/static/mstile-150x150.png differ
diff --git a/static/safari-pinned-tab.svg b/static/safari-pinned-tab.svg
new file mode 100644
index 0000000..b0ba287
--- /dev/null
+++ b/static/safari-pinned-tab.svg
@@ -0,0 +1,29 @@
+
+
+
diff --git a/static/site.webmanifest b/static/site.webmanifest
new file mode 100644
index 0000000..2f7b2b5
--- /dev/null
+++ b/static/site.webmanifest
@@ -0,0 +1,14 @@
+{
+ "name": "ECG portal",
+ "short_name": "ECG portal",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}