Skip to content

Commit 6af0bfa

Browse files
committed
Add: explore page for listing community projects.
Includes categories and search functionality.
1 parent 9fa517a commit 6af0bfa

File tree

13 files changed

+653
-9
lines changed

13 files changed

+653
-9
lines changed

_data/curated_projects.yml

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# Fields for github projects:
2+
# 'name' (mandatory)
3+
# 'github' (mandatory) format: <user>/<repo>
4+
# 'description' (mandatory) single line description
5+
# 'categories' (mandatory)
6+
# 'tags' (optional) used for searching. Don't include category name here.
7+
# 'license' (optional) override automatic github license. Set to 'none' to hide.
8+
# 'version' (optional) override automatic github version. Set to 'none' to hide.
9+
#
10+
# Fields for non github projects:
11+
# 'name' (mandatory)
12+
# 'url' (mandatory)
13+
# 'description' (mandatory) single line description
14+
# 'categories' (mandatory)
15+
# 'tags' (optional) used for searching. Don't include category name here.
16+
# 'license' (optional)
17+
# 'version' (optional)
18+
#
19+
# Browsable category names (lowercase!):
20+
# 'numerical', 'libraries', 'programming', 'scientific'
21+
#
22+
# When adding a new library:
23+
# - Check it shows up in the expected category page(s)
24+
# - Temporarily use the category 'preview' and check
25+
# check the badges render correctly at /explore/category/preview
26+
#
27+
28+
# --- Libraries / Programming ---
29+
30+
- name: functional-fortran
31+
github: wavebitscientific/functional-fortran
32+
description: Functional programming for modern Fortran
33+
categories: libraries programming
34+
tags: functional filter fold map
35+
36+
- name: erloff
37+
url: https://gitlab.com/everythingfunctional/erloff
38+
description: Errors and logging for fortran
39+
categories: libraries programming
40+
tags: errors logging
41+
license: "BSD 3-Clause"
42+
43+
- name: json-fortran
44+
github: jacobwilliams/json-fortran
45+
description: A Fortran 2008 JSON API
46+
categories: libraries programming
47+
tags: json io
48+
license: none
49+
50+
- name: gtk-fortran
51+
github: vmagnin/gtk-fortran
52+
description: A cross-platform library to build Graphical User Interfaces (GUI)
53+
categories: libraries programming
54+
tags: gui gtk graphical user interface
55+
56+
- name: fortran-utils
57+
github: certik/fortran-utils
58+
description: Various utilities for Fortran programs
59+
categories: libraries programming
60+
tags: constants types sorting io mesh spline ppm hdf5 lapack
61+
version: none
62+
63+
- name: Open Coarrays
64+
github: sourceryinstitute/OpenCoarrays
65+
description: A parallel application binary interface for Fortran 2018 compilers.
66+
categories: libraries programming
67+
tags: mpi openshmem gfortran
68+
69+
# --- Numerical libraries ---
70+
71+
- name: OpenBLAS
72+
github: xianyi/OpenBLAS
73+
description: Optimized BLAS library based on GotoBLAS2
74+
categories: numerical
75+
tags: blas linear algebra
76+
77+
- name: LAPACK
78+
github: xianyi/OpenBLAS
79+
description: Routines for numerical linear algebra
80+
categories: numerical
81+
tags: blas linear algera
82+
83+
- name: ElmerFEM
84+
github: ElmerCSC/elmerfem
85+
description: Finite element software for numerical solution of partial differential equations
86+
categories: numerical
87+
tags: pde fe
88+
version: none
89+
90+
- name: fortranlib
91+
github: astrofrog/fortranlib
92+
description: Collection of personal scientific routines in Fortran
93+
categories: libraries numerical io
94+
tags: solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors
95+
version: none
96+
97+
- name: SHTOOLS
98+
github: SHTOOLS/SHTOOLS
99+
description: A Fortran-95/Python library that can be used to perform spherical harmonic transforms
100+
categories: libraries numerical
101+
tags: spectral analysis Slepian bases gravitational magnetic field openmp
102+
103+
- name: ARPACK
104+
github: opencollab/arpack-ng
105+
description: Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.
106+
categories: libraries numerical
107+
tags: eigenvalue eigenvector singular value decomposition svd
108+
license: none
109+
version: none
110+
111+
# --- Scientific codes ---
112+
113+
- name: WRF
114+
github: wrf-model/WRF
115+
description: Weather Research and Forecasting model
116+
categories: scientific
117+
license: Public domain
118+
119+
- name: fds
120+
github: firemodels/fds
121+
description: Large-eddy simulation code for low-speed flows, with an emphasis on smoke and heat transport from fires.
122+
categories: scientific
123+
license: none
124+
125+
- name: QEF
126+
github: QEF/q-e
127+
description: Codes for electronic-structure calculations and materials modeling at the nanoscale.
128+
categories: scientific
129+
tags: electron structure simulation physics
130+
131+
- name: fluidity
132+
github: FluidityProject/fluidity
133+
description: Computational fluid dynamics code with adaptive unstructured mesh capabilities
134+
categories: scientific
135+
tags: cfd computational fluid dynamics unstructured
136+
137+
- name: fortran-machine
138+
github: mapmeld/fortran-machine
139+
categories: other
140+
141+
- name: Nek5000
142+
github: Nek5000/Nek5000
143+
description: MPI parallel higher-order spectral element CFD solver
144+
categories: scientific
145+
tags: cfd computational fluid dynamics spectral element higher order mpi parallel les rans
146+
license: none
147+
148+
- name: cp2k
149+
github: cp2k/cp2k
150+
description: quantum chemistry and solid state physics software package that can perform atomistic simulations
151+
categories: scientific
152+
tags: quantum chemistry physics molecular dynamics metadynamics mpi cuda
153+
license: GNU GPL V2
154+
155+
- name: NASTRAN 95
156+
github: nasa/NASTRAN-95
157+
description: NASA Structural Analysis System, a finite element analysis program (FEA) completed in the early 1970's
158+
categories: scientific
159+
tags: finite element structural eigne stability loads
160+
license: none
161+
version: none
162+
163+
164+
# --- Examples / demos / templates ---
165+
166+
- name: Fortran 2018 examples
167+
github: scivision/fortran2018-examples
168+
description: Easy examples of scientific computing with modern, powerful, easy Fortran 2018 standard
169+
categories: examples
170+
tags: block coarray contiguous mpi namelist openmp random submodule iso_fortran_env
171+
license: GNU GPL V2
172+

_data/nav.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,7 @@
22
url: /learn/
33
- title: Compilers
44
url: /compilers/
5-
- title: Development
6-
url: https://github.com/fortran-lang
7-
sections:
8-
- title: Proposals
9-
url: https://github.com/j3-fortran/fortran_proposals
10-
- title: Standard Library
11-
url: https://github.com/fortran-lang/stdlib
12-
- title: Package Manager
13-
url: https://github.com/fortran-lang/fpm
5+
- title: Explore
6+
url: /explore
147
- title: News
158
url: /news/

_layouts/code_category.html

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
layout: default
3+
---
4+
5+
{% include nav.html %}
6+
7+
<section class="masthead">
8+
<h1>Explore Community Fortran Projects</h1>
9+
<h3>A rich ecosystem of high-performance code</h3>
10+
</section>
11+
12+
<section class="front-section">
13+
<div class="container">
14+
<div class="col-wide">
15+
16+
<a href='/explore'> < Back</a>
17+
18+
<h1>{{page.title}}</h1>
19+
<p>
20+
{{page.description}}
21+
</p>
22+
23+
<table class="projects-table">
24+
25+
{% assign catProjects = site.data.curated_projects | where_exp:"project", "project.categories contains page.code_category"%}
26+
{% for project in catProjects %}
27+
<tr>
28+
{% if project.github %}
29+
<td> <h4><a href="https://github.com/{{ project.github }}">{{ project.name }}</a></h4> </td>
30+
<td> {% if project.version %}
31+
{% if project.version != 'none' %}
32+
<img src="https://img.shields.io/badge/Version-{{ project.version | replace: " ", "%20" | replace: "-", "--" }}-green.svg">
33+
{% endif%}
34+
{% else %}
35+
<img src="https://img.shields.io/github/v/release/{{ project.github }}?color=green">
36+
{% endif %}</td>
37+
<td> {% if project.license %}
38+
{% if project.license != 'none' %}
39+
<img src="https://img.shields.io/badge/License-{{ project.license | replace: " ", "%20" | replace: "-", "--" }}-green">
40+
{% endif%}
41+
{% else %}
42+
<img src="https://img.shields.io/github/license/{{ project.github }}">
43+
{% endif %}</td>
44+
<td> <img src="https://img.shields.io/github/stars/{{ project.github }}?style=social"></td>
45+
<td> <img src="https://img.shields.io/github/forks/{{ project.github }}?style=social&label=Fork"> </td>
46+
<td> <img src="https://img.shields.io/github/last-commit/{{ project.github }}?color=blue"> </td>
47+
<td> <img src="https://img.shields.io/github/issues/{{ project.github }}"> </td>
48+
{% else %}
49+
<td> <h4><a href="{{ project.url }}">{{ project.name }}</a></h4> </td>
50+
<td> {% if project.version %}
51+
<img src="https://img.shields.io/badge/Version-{{ project.version | replace: " ", "%20" | replace: "-", "--" }}-green.svg">
52+
{% endif %}
53+
</td>
54+
<td> {% if project.license %}
55+
<img src="https://img.shields.io/badge/License-{{ project.license | replace: " ", "%20" | replace: "-", "--" }}-green">
56+
{% endif %}
57+
</td>
58+
<td></td>
59+
<td></td>
60+
<td></td>
61+
<td></td>
62+
{% endif %}
63+
</tr>
64+
<tr><td colspan="7" class="light">
65+
{{ project.description }}
66+
</td></tr>
67+
<tr><td colspan="7" class="light small">
68+
<b>Tags: </b>{{ project.tags }}
69+
</td></tr>
70+
<tr><td colspan="7"></td></tr>
71+
{% endfor %}
72+
73+
</table>
74+
75+
</div>
76+
77+
</div>
78+
</section>
79+
80+
<section class="front-section shaded">
81+
<div class="container">
82+
<div class="col-wide">
83+
<!-- <h2 id="faqs">FAQ</h2> -->
84+
85+
Want your project listed or see a problem? Submit an issue
86+
<a href="https://github.com/fortran-lang/fortran-lang.github.io/issues">here</a>.
87+
88+
</div>
89+
</section>
90+

assets/css/main.css

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ h3 {
4949
/* color: #54a23d; */
5050
}
5151

52+
/* Mark new-window links */
53+
a[target="_blank"]:after {
54+
content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);
55+
margin: 0 3px 0 5px;
56+
}
57+
5258
blockquote {
5359
border-left: 5px solid #eeeeee;
5460
margin-left: 0;
@@ -85,6 +91,26 @@ pre {
8591
}
8692
}
8793

94+
.container-flex{
95+
margin: 0 15px;
96+
display: flex;
97+
flex-wrap: wrap;
98+
}
99+
100+
.col-flex {
101+
/* display: table-cell; */
102+
flex: 45%;
103+
padding-left: 10px;
104+
vertical-align: top;
105+
}
106+
107+
@media screen and (max-width: 700px) {
108+
.col-flex {
109+
flex: 100%;
110+
flex-direction: column;
111+
}
112+
}
113+
88114
#navbar-logo {
89115
height: 3em;
90116
}
@@ -231,6 +257,30 @@ pre {
231257
width: 100%;
232258
}
233259

260+
.search-btn {
261+
display: inline-block;
262+
text-align: center;
263+
vertical-align: middle;
264+
background-color: #3c92d1;
265+
color: #fff;
266+
font-family: 'Lato', sans-serif;
267+
border-radius: 4px;
268+
padding: 5px 7px;
269+
}
270+
271+
.search-btn:hover {
272+
background-color: #3889c4;
273+
color: white;
274+
}
275+
276+
.search-box {
277+
width: 85%;
278+
padding: 5px 7px;
279+
color: #777;
280+
font-weight: bold;
281+
}
282+
283+
234284
footer .container {
235285
border-top: solid 1px #ececec;
236286
padding: 20px 0 50px;
@@ -292,4 +342,10 @@ footer a {
292342
padding-left: 10px;
293343
margin: 20px 0;
294344
background-color: #f9f2f4;
345+
}
346+
347+
.projects-table td{
348+
349+
padding: 4px;
350+
295351
}

explore/category/examples.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
layout: code_category
3+
title: Examples and templates
4+
description: Demonstration codes and templates for Fortran
5+
code_category: examples
6+
permalink: /explore/category/examples
7+
---
8+

explore/category/libraries.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
layout: code_category
3+
title: Libraries
4+
description: Fortran libraries for general programming tasks
5+
code_category: libraries
6+
---
7+

explore/category/numerical.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
layout: code_category
3+
title: Numerical projects
4+
description: Fortran libraries for linear algebra, optimization, root-finding etc.
5+
code_category: numerical
6+
---
7+

explore/category/preview.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
layout: code_category
3+
title: Preview
4+
description: Preview project badges
5+
code_category: preview
6+
permalink: /explore/category/preview
7+
---
8+

0 commit comments

Comments
 (0)