Skip to content

Commit

Permalink
github page
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelmattig committed Dec 9, 2024
1 parent 6557662 commit eb37c20
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 2 deletions.
54 changes: 54 additions & 0 deletions .github/workflows/jekyll-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll with GitHub Pages dependencies preinstalled

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./
destination: ./_site
- name: Install Mermaid
run: |
sudo python3 ./scripts/mermaid.py
- name: Upload artifact
uses: actions/upload-pages-artifact@v3

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# FAIR-DS Demonstrator: Industry Data & ESG, Virtual Data Trustee

The ESG Indicator Serviceis a demonstrator for the FAIR-DS project.
The ESG Indicator Service is a demonstrator for the FAIR-DS project.
This document presents the software architecture.
You can find more information about the app itself in the [FAIR-DS wiki](https://fair-ds4nfdi.github.io/wiki/).

## Architecture

There are four components to the ECOMETRICS app demonstrator: the Data Spaces, the Model Producer, the Virtual Data Trustee and the ESG Indicator Service Dashboard.
There are four components to the ESG Indicator Service app demonstrator: the Data Spaces, the Model Producer, the Virtual Data Trustee and the ESG Indicator Service Dashboard.
There are two kinds of users: a Data Provider that creates and supplies a machine learning model and a Data Scientist that uses the model to compute ESG scores on their own private company data.
The Virtual Data Trustee ensures that the model and the company data are kept separate and that the ESG scores are computed in a privacy-preserving way.
It also monitors the usage of the model and the data.
Expand Down
44 changes: 44 additions & 0 deletions scripts/mermaid.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
from html.parser import HTMLParser


class MyHTMLParser(HTMLParser):
def __init__(self):
super().__init__()
self.result = []
self.in_body = False

def handle_starttag(self, tag, attrs):
self.result.append(self.get_starttag_text())
if tag == 'body':
self.in_body = True

def handle_endtag(self, tag):
if tag == 'body':
self.in_body = False
# Add the script tag before closing body tag
self.result.append('''
<script type="module">
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs";
for (const element of document.getElementsByClassName("language-mermaid")) {
element.classList.add("mermaid");
}
mermaid.initialize({ startOnLoad: true });
</script>
''')
self.result.append(f'</{tag}>')

def handle_data(self, data):
self.result.append(data)


# Load the HTML content
with open('./_site/index.html', 'r') as file:
content = file.read()

# Parse the HTML content
parser = MyHTMLParser()
parser.feed(content)

# Save the modified HTML back to the file
with open('./_site/index.html', 'w') as file:
file.write(''.join(parser.result))

0 comments on commit eb37c20

Please sign in to comment.