Coder Social home page Coder Social logo

fortran-lang / fortran-lang.org Goto Github PK

View Code? Open in Web Editor NEW
130.0 14.0 68.0 26.56 MB

(deprecated) Fortran website

Home Page: https://fortran-lang.github.io/fortran-lang.org

License: MIT License

Ruby 0.23% HTML 52.90% CSS 13.28% JavaScript 27.75% Python 5.85%

fortran-lang.org's Introduction

fortran-lang.org website

This repository is deprecated, the new webpage can be found here.

This repository contains the source for the fortran-lang.io website. It's derived from https://github.com/neovim/neovim.github.io.

Contributing

Setup

This assumes that you already have a recent Ruby with RubyGems.

For example on Ubuntu 18.04, do:

sudo apt install ruby-dev

Installing Ruby gems

Install Bundler, either systemwide:

sudo gem install bundler

or for the current user:

gem install --user-install bundler
export PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"

In the latter case, you might want to add the PATH update to .bashrc or your shell's equivalent.

To install the dependencies of this project, use Bundler:

bundle config set path '.bundle'
bundle install

Serving locally

Execute the following command:

bundle exec jekyll serve --watch

Open http://localhost:4000 to view the website.

fortran-lang.org's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fortran-lang.org's Issues

Installation instructions fail

Even after the fix in #31 they fail:

$ bundle install --path .bundle
[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path '.bundle'`, and stop using this flag
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching public_suffix 4.0.4
Installing public_suffix 4.0.4
Fetching addressable 2.7.0
Installing addressable 2.7.0
Using bundler 2.1.4
Fetching colorator 1.1.0
Installing colorator 1.1.0
Fetching concurrent-ruby 1.1.6
Installing concurrent-ruby 1.1.6
Fetching eventmachine 1.2.7
Installing eventmachine 1.2.7 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/ondrej/repos/fortran-lang.github.io/.bundle/ruby/2.5.0/gems/eventmachine-1.2.7/ext
/usr/bin/ruby2.5 -r ./siteconf20200424-23119-fxep5g.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in
/home/ondrej/repos/fortran-lang.github.io/.bundle/ruby/2.5.0/gems/eventmachine-1.2.7
for inspection.
Results logged to
/home/ondrej/repos/fortran-lang.github.io/.bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/eventmachine-1.2.7/gem_make.out

An error occurred while installing eventmachine (1.2.7), and Bundler
cannot continue.
Make sure that `gem install eventmachine -v '1.2.7' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  jekyll was resolved to 3.8.6, which depends on
    em-websocket was resolved to 0.5.1, which depends on
      eventmachine

I am using Ubuntu 18.04.

Add a CI

When a new PR is submitted a CI should run to check that the website can be built. This is especially critical for new package submissions to ensure the yaml is properly formatted.

Localize javascript components in `assets/js`

The javascript in assets/js contains a few keywords that should be localized as well after #201 is merged.

<i><b> {{nContrib}} contributions </b></i>

<b>Repository: </b>

<option value="all">All</option>

<b>User plots: </b>

Create a Preview for each PR

Right now we have to test a PR locally that it works. Our CI should create a preview of each PR, so that we can simply see it right away. Typically that is achieved by pushing the PR into some review github pages as a branch with a url prefix so each PR has its own prefix and we can check that the page looks good.

Should we list g95 in open source compilers?

http://g95.org/

I'm torn. :)

On one side, I used this compiler briefly over 10 years ago and it's dear to me. "It's free crunch time" is an awesome tagline. Despite what its name implies, this compiler supports coarrays out of the box, at least to some capacity. Its status page has a long list of packages that work with g95.

On the other side, it looks like the project is not developed any more. The most recent update on the site that I can find is from 2013.

Add link to Doctor Fortran blog?

On the Learn page, please add a link under Other Resources > On the Web as follows:

Doctor Fortran blog Posts about various aspects, features and misconceptions of the Fortran language

I tried to figure out how to do this myself, but could not locate the source that has the list of links.

XML file without style

Hi,

The link news, in navbar class, returns a XML file without style.


This XML file does not appear to have any style information associated with it. The document tree is shown below.

<title type="text" xml:lang="en">Fortran Newsletter</title> 2021-02-02T22:08:53+00:00 /news

Consider changing static site generator

I have great experience with Hugo for site generation --- a single binary download on all platforms, it's very fast to run, and overall seems robust.

The issue with Jekyll is that it's harder to install and you typically run into issue such as this one:

#77 (comment)

This is relatively lower priority, since this website was primarily developed by @milancurcic and @LKedward and so I let them choose the technology. I opened this issue just as an alternative to know about.

Electronic structure Fortran projects

Some other projects regarding electronic structure methods. Maybe a few of them are interesting as well, let me know and I will collect the necessary meta data.

name url
DFT-D4 https://github.com/dftd4/dftd4
ELPA https://gitlab.mpcdf.mpg.de/elpa/elpa
ELSI https://gitlab.com/elsi_project/elsi_interface
FortJSON https://gitlab.com/elsi_project/fortjson
libnegf https://github.com/libnegf/libnegf
NTPoly https://github.com/william-dawson/NTPoly
MBD https://github.com/jhrmnn/libmbd
mpifx https://github.com/dftbplus/mpifx
OpenMolcas https://gitlab.com/Molcas/OpenMolcas
scalapackfx https://github.com/dftbplus/scalapackfx

Comment text in activity JSON files

Currently we store each comment together with the metadata in the activity JSON files. Do we need to do that? I think the JSON files might become much smaller without the text of the comments. I don't know if we might want to need them in the future, but even if so, I would imagine only to show some statistics (number of words / sentences written?), so it seems to me we can have some separate repository that can store the comments, but the JSON files that we need for this website should only contain things we actually need, which is just the metadata (plus any possible statistics about comments if we want in the future), but not the comments themselves.

Move the Discourse link at the top

Currently one must scroll down to find the Discourse link. Let's put it at the top horizontal menu? I think we want this as the primary discussion forum, so that would be a great place for it.

External dependencies

PR #100 adds a Javascript library and JSON data files - as discussed in this PR, these are best left out of the main repository. In the case of the JSON files, this is because of their file size.

Two solutions I can think of:

  1. Add a shell script for cloning and updating dependencies from their respective repositories -
    script is run in CI and by contributors at checkout;

  2. Use git submodules.

My preference is for submodules:

  • Submodules are designed specifically for this purpose
  • I don't like the idea of maintaining a shell script
  • Checking-out submodules is a simpler workflow than requiring contributors to run a shell script

My impression is that the issues people face with submodules are usually when pushing commits to repositories from submodules - we won't be doing that.

Add Gemfile.lock to repo

A minor point, and I will defer to those with more experience with Ruby, however my understanding is that for non-library projects (no dependents) the lock file should be committed to the repository so that all contributors are building within the same environment. Repo lock files are only then updated when updated dependencies have been tested.

Newsletter on the October 2020 J3 meeting

There is a thread with a summary from the meeting here.

Like we did with the February meeting newsletter, it would be useful to make and distribute a post about the progress made in the October meeting.

It looks like the GitHub issue thread could be largely adapted into a post. However, it would be helpful and nice to also have a brief discussion on the progress and future outlook, i.e. how did this meeting steer the course toward F202X.

The motivation for this is to leverage the fortran-lang reach and audience and promote the Committee's work.

What do you think? @certik @zjibben @sblionel @longb @rouson @gklimowicz @everythingfunctional @FortranFan @tclune @mleair

How to distribute newsletters?

See fortran-lang/webpage#80 first.

How should we distribute the newsletter, and specifically, should we have a mailing list?

Currently we have:

Regarding mailing lists, I've used Google Groups (not sure if still exists) and Mailchimp (great features but a PITA to work with).

Unless there's a really easy to set up and low maintenance mailing list solution, or we have a volunteer to do it, I'm not convinced that it's worthwhile doing this for the time being.

What do you think?

Link teaching resources and course material?

Is it on scope for the webpage to link external course material or teaching resources from the learn page? I'm mainly thinking about pure Fortran programming courses and also more domain-specific specific courses that include Fortran introductions to teach other more specific concepts.

If we agree that it is on scope, what would be criteria to list a course on the learn page?

Add Discourse badge to the landing page

We now have a Discourse instance. Please join and try it out.

The website should have a hyperlinked Discourse badge that would allow people who visit the site to discover Discourse. We have an obvious place for this, where we list the mailing list, Twitter, and so on.

Jekyll build is broken

See https://github.com/fortran-lang/fortran-lang.org/actions/runs/431313773

Run cd src
  cd src
  sudo gem install bundler
  bundle config path .bundle
  bundle install
  shell: /bin/bash -e {0}
  env:
    SRC_DIR: src
    PUBLISH_DIR: gh-pages
    SITE_URL: https://fortran-lang.org
    FPM_INDEX: https://raw.githubusercontent.com/fortran-lang/fpm-registry/master/index.json
Successfully installed bundler-2.2.2
Parsing documentation for bundler-2.2.2
Installing ri documentation for bundler-2.2.2
Done installing documentation for bundler after 3 seconds
1 gem installed
/usr/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
	from /usr/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
	from /usr/local/bin/bundle:23:in `<main>'
Error: Process completed with exit code 1.

Multi-word tags in packages

Is it possible to have tags that use multiple words separated by spaces?

At the moment there are packages that define multi-word tags with hyphens ("electronic-structure-calculations"), and packages where the same words are separated by spaces, thus actually creating multiple tags (electronic structure calculations). This results in duplicated tags in the list of featured topis on https://fortran-lang.org/packages/ (e.g., I can see "electronic-structure", "electronic" and "structure"), which prevents other tags from appearing there at all.

Small error in CONTRIBUTING.md

In the workflow section, I read:

  1. Push your modified branch to your local fork
    e.g. git push --set-upstream origin fix-spelling-homepage

I guess it should be "to your distant fork" (or remote fork?)

Mailing list

Thank you @certik for starting the fortran-lang mailinglist.

For everybody else, please see Group Email Addresses on that page for details.

Specifically, we should have a subscription link on the website.

I think a good place is on the landing page in the "Join us" section, such that we have, in this order:

  • Subscribe to the mailing list
  • Follow us on Twitter
  • Contribute on GitHub
  • Ask about usage on Stack Exchange

In addition, it should also be in the sidebar on the news page

@certik @LKedward Let me know what you think and I can follow up with a PR.

Write down criteria how to include a package

We should also setup criteria how to include a package there --- right now the criterion I think was at least 29 stars at GitHub and Fortran as the majority language (as determined by GitHub). I would be for lowering the number of stars, for example if we lower to 15, then one of my other 100% Fortran project would qualify: https://github.com/certik/hfsolver :), what is nice about this one is that it has all kinds of very good computational routines that could be useful for others. But if we lower the number of stars, then I want to do it in a systematic way, I want to see every single GitHub project included. I think we achieved it with the > 29 stars.

Displaying localized information from _data/ entries

One open issue for the localization are the entries in _data, some of those are automatically generated, like the fpm registry and therefore hard to translate. Other entries like the in press part of the learning resources might be a suitable candidate for localized information, i.e. displaying French books only on the French subtree.

Note that the default language, English, has only access to the English translation file, while all other languages have at least access to the English translation file and their own translation file, in case we want to pull off some tricks with liquid for this.

Localizing _data entries in the translation file would lead to a significant bloat, but we might be able to add additional localized _data directories in the language subtrees in the _i18n directory. A possible solution would be to use subtrees in the _data dir to store localized versions of data and global versions on the toplevel.

_data
|-- en/
|-- es/
|-- fr/

Sort fpm registry alphabetically

The fpm registry at packages/fpm is currently sorted chronologically in the order of addition to the registry, a more useful sorting would be alphabetically.

It appears that Liquid is not able to sort a hash map alphabetically (!) by itself, therefore implementing this in Liquid will be ugly.

F18 information outdated

It seems that the F18 front-end branch has been accepted as the brand new flang and is part of the official LLVM project. The former flang compiler still exists here.

I can take a shot at updating the page in the upcoming days, if no one else does it first.

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.