From cb18657ec0e63dd9b89d13eebf2541f2866f764c Mon Sep 17 00:00:00 2001 From: Zsolt Ero Date: Tue, 16 Jan 2024 20:53:31 +0100 Subject: [PATCH] website --- .gitignore | 1 - website/.gitignore | 1 + website/assets/style.css | 14 +++- website/{text.md => blocks/main.md} | 0 website/{ => blocks}/map_docs.html | 0 website/blocks/privacy.md | 102 ++++++++++++++++++++++++++++ website/generate.py | 45 +++++++++--- website/template.html | 19 +++--- website/template_static.html | 15 ++++ 9 files changed, 175 insertions(+), 22 deletions(-) create mode 100644 website/.gitignore rename website/{text.md => blocks/main.md} (100%) rename website/{ => blocks}/map_docs.html (100%) create mode 100644 website/blocks/privacy.md create mode 100644 website/template_static.html diff --git a/.gitignore b/.gitignore index 4ed1058..227472f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,3 @@ _temp venv -/website/index.html diff --git a/website/.gitignore b/website/.gitignore new file mode 100644 index 0000000..c1d18d8 --- /dev/null +++ b/website/.gitignore @@ -0,0 +1 @@ +_out diff --git a/website/assets/style.css b/website/assets/style.css index 8ec8ed7..a8faeee 100644 --- a/website/assets/style.css +++ b/website/assets/style.css @@ -31,7 +31,6 @@ button { font-family: inherit; font-size: 100%; line-height: 1.15; - margin: 0; overflow: visible; text-transform: none; -webkit-appearance: button; @@ -61,6 +60,11 @@ body { color: #000; } +.static { + max-width: 600px; + margin: 0 auto; +} + h1, h2, h3, @@ -96,7 +100,6 @@ a:hover { h1 { text-align: center; - margin: 0 auto; } .subtitle { @@ -176,3 +179,10 @@ button { .col-chk:checked ~ .col-lbl:before { content: '▼'; } + +hr { + border: 0; + height: 1px; + background-color: #555; + margin: 2em 0; +} \ No newline at end of file diff --git a/website/text.md b/website/blocks/main.md similarity index 100% rename from website/text.md rename to website/blocks/main.md diff --git a/website/map_docs.html b/website/blocks/map_docs.html similarity index 100% rename from website/map_docs.html rename to website/blocks/map_docs.html diff --git a/website/blocks/privacy.md b/website/blocks/privacy.md new file mode 100644 index 0000000..3b8d5b8 --- /dev/null +++ b/website/blocks/privacy.md @@ -0,0 +1,102 @@ +# OpenFreeMap and your data + +Version: 16th of Jan, 2024 + +We try to collect as little information as possible for the everyday running of this service. + +There are no user accounts, email lists, API keys, cookies or databases. + +This page is a static HTML hosted on GitHub pages. + +We do not send newsletters. Please follow us on Twitter or GitHub for updates. + +The only data we might collect are server logs. Technically, these are disabled by default and are only enabled temporarily to investigate problems with our service. + +--- + +## PRIVACY POLICY + +Your privacy is important to us, so Hyperknot Software Kft., a company based in the Hungary, has created the following Privacy Policy ("Policy") to let you know what information we collect when you visit our Site https://openfreemap.org/ ("Site"), why we collect it and how we use it. + +The terms "You," "Your," "Yours" and "User" refer to the entity/person/organization using our Site. +When this Policy mentions "We", "Us," and "Our" it refers to Hyperknot Software Kft. and its subsidiaries and affiliates. + + +This Privacy Policy is governed by our [Terms of Services](https://openfreemap.org/tos). + +For any questions regarding this Policy or any requests regarding the processing of personal data, please contact us at privacy@openfreemap.org. + +## 1. INFORMATION WE COLLECT AUTOMATICALLY +When you use our Site or contact us directly we may collect information, including your personal information, about the way you act in our Site, the services You use and how You use them. +This information is necessary for the adequate performance of the contract between You and us, to enable us to comply with legal obligations and given our legitimate interest in being able to provide and improve the functionalities of the Site. + + - Log data and Device information. We automatically collect log data and device information when you access and use the Site, even if you have not created an Account or logged in. That information includes, among other things: Internet protocol (IP) addresses, Browser type, Referring/exit pages, Date/time stamp, Operating system. + + + +## 2. THE WAY WE USE YOUR INFORMATION +We process your information adhering to the general data processing principles. +We may use the information we collect through our Site for a number of reasons, including to: + + - to ensure data security and prevent fraud + - to improve services + +We will normally collect personal information from you only where we have your consent to do so, where we need the personal information to perform a contract with you, or where the processing is in our legitimate business interests. + + +## 3. COOKIES +We do not use cookies or other tracking technologies. + + +## 4. INFORMATION FROM MINORS +This site and our Services are not intended for or directed to persons under the age of 18. We do not knowingly collect or ask for information from minors. We do not knowingly allow minors to use our Site or Services. +We will delete any information we discover is collected from a minor. Please contact us using the contact details below if you believe we might have information about a minor. + + +## 5. SENSITIVE INFORMATION +We do not collect sensitive information such as political opinions, religious or philosophical beliefs, racial or ethnic origin, genetic data, biometric data, health data or data related a sexual orientation. +Please do not send, upload, or provide us any sensitive data and contact us using the contact details below if you believe that we might have such information. We have a right to delete any information we believe it might contain sensitive data. + + +## 6. PAYMENT INFORMATION +To order and use our services we may require you to provide certain financial information to facilitate the processing of payments. We will not store or collect your payment card details. That information is provided directly to our third-party payment processors whose use of your Personal information is governed by their Privacy Policy. All payment data is stored by Paddle, Lemon Squeezy. You may find their privacy policy link(s) here: [https://www.paddle.com/legal/privacy](https://www.paddle.com/legal/privacy) [https://www.lemonsqueezy.com/privacy](https://www.lemonsqueezy.com/privacy). + + +## 7. RETENTION +We retain your personal information to provide services to you and as otherwise necessary to comply with our legal obligation, resolve disputes, and enforce our agreements. +We will retain your personal information as long as we need it to provide services to you, unless we are otherwise required by law or regulations to retain your personal information longer. + + +## 8. SECURITY +We have implemented security measures designed to protect the personal information you share with us, including physical, electronic and procedural measures. Among other things, we regularly monitor our systems for possible vulnerabilities and attacks. +Regardless of the measures and efforts taken by us, the transmission of information via internet, email or text message is not completely secure. We do not guarantee the absolute protection and security of your personal information. +We therefore encourage you to avoid providing us or anyone with any sensitive information of which you believe its disclosure could cause you substantial or irreparable harm. +If you have any questions regarding the security of our Site or Services, you are welcome to contact us at security@openfreemap.org. + + +## 9. YOUR RIGHTS +You are entitled to a range of rights regarding the protection of your personal information. Those rights are: + + - The right to access the information we have about you. If you wish to access your personal information that we collect, you can do so at any time by contacting us using the contact details provided below. + - The right to rectify inaccurate information about you. You can correct, update or request deletion of your personal information by contacting us using the contact details provided below. + - The right to object the processing. When we rely on your consent to process your personal information, you may withdraw consent at any time by contacting us using the contact details provided below. This will not affect the lawfulness of processing prior to the withdrawal of your consent. + - The right to lodge a complaint. You can raise questions or complaints to the national Data Protection Agency in your country of residence in the event where your rights may have been infringed. However, we recommend attempting to reach a peaceful resolution of the possible dispute by contacting us first. + - The right to erase any data concerning you. You may demand erasure of data without undue delay for legitimate reasons, e.g. where data is no longer necessary for the purposes it was collected, or where the data has been unlawfully processed. + + + +## 10. APPLICATION OF POLICY +This Policy applies only to the services offered by our Company. Our Policy does not apply to services offered by other companies or individuals, including products or sites that may be displayed to you in search results, sites that may include our services or other sites linked from our Site or Services. + + +## 11. AMENDMENTS +Our Policy may change from time to time. We will post any Policy changes on our Site and, if the changes are significant, we may consider providing a more explicit notice (including, for certain services, email notification of Policy changes). + + +## 12. ACCEPTANCE OF THIS POLICY +We assume that all Users of this Site have carefully read this document and agree to its contents. If someone does not agree with this Policy, they should refrain from using our Site. We reserve the right to change our Policy at any time and inform by using the way as indicated in Section 11. Continued use of this Site implies acceptance of the revised Policy. + + +## 13. FURTHER INFORMATION +If you have any further questions regarding the data we collect, or how we use it, then please feel free to contact us at the details as indicated above. + diff --git a/website/generate.py b/website/generate.py index 616e2b9..cbc3047 100755 --- a/website/generate.py +++ b/website/generate.py @@ -1,23 +1,48 @@ #!/usr/bin/env python +import shutil +from pathlib import Path import marko +OUT_DIR = Path('_out') +ASSETS_DIR = Path('assets') + + def generate(): - # licenses = open('../LICENSE.md').read().split('---')[0] - - text_md = open('text.md').read() - # text_md = text_md.replace('{licenses}', licenses) - - text_html = marko.convert(text_md) + shutil.rmtree(OUT_DIR, ignore_errors=True) + OUT_DIR.mkdir() template = open('template.html').read() - template = template.replace('{text}', text_html) - style_selector = open('map_docs.html').read() - template = template.replace('', style_selector) + main_md = open('blocks/main.md').read() + main_html = marko.convert(main_md) - open('index.html', 'w').write(template) + index_html = template.replace('{main}', main_html) + + style_selector = open('blocks/map_docs.html').read() + index_html = index_html.replace('', style_selector) + open(OUT_DIR / 'index.html', 'w').write(index_html) + + make_static_page('privacy', 'Privacy Policy') + copy_assets() + + +def copy_assets(): + for file in ['style.css', 'logo_512.png', 'map.js']: + shutil.copyfile(ASSETS_DIR / file, OUT_DIR / file) + + +def make_static_page(page_str, title): + page_md = open(f'blocks/{page_str}.md').read() + page_html = marko.convert(page_md) + + template = open('template_static.html').read() + template = template.replace('{main}', page_html) + template = template.replace('{title}', title) + + with open(OUT_DIR / f'{page_str}.html', 'w') as fp: + fp.write(template) if __name__ == '__main__': diff --git a/website/template.html b/website/template.html index 908f491..9ac012b 100644 --- a/website/template.html +++ b/website/template.html @@ -4,15 +4,15 @@ OpenFreeMap - + - - - - + + + + - + @@ -21,12 +21,13 @@ - +

OpenFreeMap

- {text} - + {main} + + diff --git a/website/template_static.html b/website/template_static.html new file mode 100644 index 0000000..790bb29 --- /dev/null +++ b/website/template_static.html @@ -0,0 +1,15 @@ + + + + + + {title} + + + + +
+ {main} +
+ +