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. ![screenshot](docs/screenshot.png "Screenshot") ## 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.

-
$items + +
+ + 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 @@ + \ 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 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + 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" +}