Coder Social home page Coder Social logo

gaphor / gaphor.github.io Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 10.0 77.85 MB

Website for Gaphor, the simple modeling tool

Home Page: https://gaphor.org

License: GNU General Public License v3.0

HTML 54.24% CSS 2.64% SCSS 36.45% Makefile 0.29% Ruby 0.54% Python 4.22% JavaScript 1.61%
website jeykll uml sysml mbse gaphor

gaphor.github.io's Introduction

The theme is based on the Illdy theme.

Development Environment with Linux

Install rbenv and ruby-build

$ rbenv install 2.7.5
$ rbenv global 2.7.5
$ gem install ruby bundler
$ bundle install
$ bundle exec jekyll serve

Translation

This project is using the jekyll-polyglot plugin.

There are two different ways in which content on the website is translated.

Strings

If you are adding content to the home page, footer, navigation, or other static parts of the website, not Jekyll posts/pages, then it is done using localised site data.

Say you want to add a new paragraph to the home page. Firstly, add a new entry to the _data/strings.yml file:

index:
  thousand-words: >
    A picture is worth a thousand words. Describe and document your
    applications and systems with Gaphor to enhance knowledge sharing.
...

Then, reference this from the index.html file:

{{ site.data.strings.index.thousand-words }}

If you need to reference many strings in a single .md file, then it is also possible to first assign a variable:

{% assign strings = site.data.strings.index %}
{{ strings.thousand-words }}

Pages and Blog

For the pages and posts, translation happens by conversion Markdown into gettext using po4a. When a new .md file is added to _pages/ or _posts/ directory, then you need to run:

$ python po/build.py

This will extract the strings from all Markdown files in these two directories and output them to po/site.pot. These will then subsequently be translated by Weblate into additional files such as po/site.cs.po.

Configuring Weblate

The translation setup is designed to work with three different Weblate Components:

  • Website (navigation, footer, sidebars)
  • Pages and Blog
  • Website News

Below is the list of important properties to set when adding a new Weblate component. These are important or else the translation system will not work. It does not document the more simple things such as Name/URL/etc.

Website

  • File mask: _data/*/strings.yml
  • Monolingual base language file: _data/strings.yml
  • Edit base file: No
  • Base file for new translations: _data/strings.yml
  • File format: YAML file
  • Priority: Very high

Pages and Blog

  • File mask: po/site.*.po
  • Edit base file: No
  • Base file for new translations: po/site.pot
  • File format: Gettext PO file

gaphor.github.io's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gaphor.github.io's Issues

Darker color for body text

I know this is based on a theme but the body text is really hard to see unless it is zoomed in my display. The current body text color of #8C9597 with a background of #ffffff does not pass to a WCAG contrast checker (at least on a normal body text).

Screenshot from 2023-01-31 23-11-22

I suggest a darker color for the body text to make it more visible. Here's #565e60 alongside the updated screenshot of the website. It also passes most of the checks as well.

Screenshot from 2023-02-01 09-48-31

Russian language support in fonts

The site is currently using the Lato 1.0 font, which does not support the Russian language.

There are two solutions to this problem:

  1. Use Lato 2.0 font;
  2. Use a different font.

It seems that the first solution is much simpler and better.

Information about Lato: https://www.latofonts.com

And I also noticed that the font used for the title - Poppins - also does not support the Russian language. There is a font similar to it - Montserrat - it does.

Please allow at https://gaphor.org/hu/ the following to be translatable

Please allow at https://gaphor.org/hu/ the following to be translatable:

  1. Build Class, Interaction, and State Machine diagrams for software or Block Definition and Requirements diagrams for systems. Model the elements you need. If you want to mix and match, you can even add different diagram items to the same diagram to get the view you need.
  2. Customize the diagrams you create with our built-in styling engine.
  3. Easily find all element of your model in the tree view.
  4. Love dark mode? We can do that too.
  5. There are many ways to install Gaphor. The simplest is to download the official installer for Windows or macOS. For Linux you can install Gaphor using FlatHub. You can also use Python’s built-in pip tool as long as you have all the required dependencies installed.
  6. Blog and News
  7. [Contact the team](https://gaphor.org/hu/discuss) if you want to share content related to Gaphor.
  8. We love to hear from you
  9. [Open an issue on GitHub](https://github.com/gaphor/gaphor/issues)
  10. [Tech docs](https://docs.gaphor.org/en/latest)
  11. Theme:

Thank you

Append `en-US/` to the English edition of the website

Instead of showing https://gaphor.org/ when visiting the English version of the Gaphor website, suggest changing this to https://gaphor.org/en-US/

In future, if https://gaphor.org/ is entered as the URL, that page would determine the locale on the visitors device and then automatically redirect to that locale. If that locale is currently not available on Gaphor, then the visitor would be redirected to https://gaphor.org/en-US/.

This is how https://www.thunderbird.net/ works. Please try it as see how to redirects to the current locale of your device.

The Thunderbird website code is available at https://github.com/thundernest/thunderbird-website if you would like to have a look.

What do you think?

Thank you

Update Jekyll and Dependencies

We are running older version of most of our dependencies. This was set up since we were using auto deployment with GitHub Actions, but now we have our own build and can run the latest and greatest:

  • Ruby 2.7.5, latest is 3.2.2
  • Jekyll 3.9.3, latest is 4.3.2
  • Bootstrap 4.5.0, latest 5.2.3

We also depend on the github-actions gem which pulls in 40+ dependencies, it would be great to specify only exactly what we need.

Switching language returns to home page

Currently the website does not completely translate into defined languages. Some context translates, some of it doesn't.

Also, when changing the language of a certain web-page, switching languages always returns to the main web page (home-page) of the selected language. It should simply display the same page but in the other language.

For instance:

Same is true for Hungarian ...

Add German to the language dropdown list

The Gaphor app is translated into German.
The website isn't translated completely yet.
Nevertheless, please enable switching to German translation in the language dropdown menu by adding "de": "Deutsch" to the _data/languagenames.json file.

Gallary with examples

If you look at d3.js and click on Examples or if you look at Graphviz they have a gallery that showcases what can be done.

Maybe Gaphor could also have a examples or gallery section that showcases some models with screenshots and that can also be downloaded.

Automatically Select Locale for Users

Feature Request

Make the website automatically recognize the user's language/locale settings (browser or OS settings) and show the website in that language.

Please also consider my suggestion in issue #61. This enables the user to automatically read the website's contents in his/her langauage, but still be able to switch to another language if needed.

Enable translation of navigation

Please enable top row strings to be translatable.

  1. About top row string
  2. Download top row string
  3. Blog top row string
  4. GitHub repository top row popout string
  5. Perhaps all the string in the top row need translation to be enable as the strings that look like they are in Weblate are duplicated

image

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.