Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Build

on:
push:
branches: [ "sources" ]
pull_request:
branches: [ "sources" ]
env:
# Set this in the github variables, when deploying on fork
# for proper relative paths
BASE_URL_PREFIX: ${{ vars.BASE_URL_PREFIX }}

jobs:
build:

runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3.5.2

- name: Checkout submodules
run: git submodule update --init --recursive
- name: Setup Python
uses: actions/setup-python@v4.6.0
with:
python-version: 3.11

- name: Install dependencies
run: |
set -e
pip install jinja2 babel doctr

- name: Generate Docs
run: |
./generate

- name: Copy all build files to root
run: cp build/* . -r

- name: Deploy 🚀
if: github.ref == 'refs/heads/sources'
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: .
10 changes: 0 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,4 @@
*~
.DS_Store

cs/
de/
en/
es/
fr/
nl/
pt/
ru/
zh/

i18n/sympy.org.pot
14 changes: 0 additions & 14 deletions .travis.yml

This file was deleted.

27 changes: 20 additions & 7 deletions generate
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,18 @@ from gettext import GNUTranslations

from jinja2 import Environment, FileSystemLoader


def md5_filter(value):
return hashlib.md5(value).hexdigest()


def format_datetime(year, month, day):
return babel.dates.format_date(datetime.date(year, month, day),
locale=env.globals["locale"])


env = Environment(loader=FileSystemLoader('templates'),
extensions=['jinja2.ext.i18n'])
extensions=['jinja2.ext.i18n'])
env.filters["md5"] = md5_filter
env.globals["datetime"] = format_datetime

Expand All @@ -31,10 +34,14 @@ templates = [
"roadmap.html",
"donate.html",
"shell.html",
]
]

BASE_URL_PREFIX = os.path.join('/', os.environ.get('BASE_URL_PREFIX', ''))
STATIC_PATH = f"{BASE_URL_PREFIX}/static"

# Sorted alphabetically:
languages = ["cs", "de", "en", "fr", "nl", "pt", "ru", "zh", "es"]
print(f"STATIC_PATH: {STATIC_PATH}")

for language in languages:
print("Generating '%s' pages" % language)
Expand All @@ -50,13 +57,19 @@ for language in languages:

for template in templates:
t = env.get_template(template)
print(" Processing '%s'" % template)
print("Processing '%s'" % template)
name = os.path.splitext(template)[0]
s = t.render({name + "_active": "active"})
s = t.render(
{
name + "_active": "active",
"static_path": STATIC_PATH,
"copyright_year": datetime.datetime.utcnow().year
}
)
os.makedirs(os.path.join('build', language), exist_ok=True)
f = open(os.path.join('build', language, template), "wb")
try:
f.write(s.encode("utf-8"))
f.write(b"\n")
f.write(s.encode("utf-8"))
f.write(b"\n")
finally:
f.close()
f.close()
14 changes: 7 additions & 7 deletions templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" type="text/css" />
<!-- <link rel="stylesheet" href="/static/css/base.css" type="text/css" media="screen" /> -->
<!-- <link rel="stylesheet" id="current-theme" href="/static/css/style.css" type="text/css" media="screen" /> -->
<link rel="stylesheet" href="/static/external/css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/static/external/css/responsive-gs-12col.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/static/css/base.css" type="text/css" media="screen" />
<link rel="stylesheet" href="{{ static_path }}/external/css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="{{ static_path }}/external/css/responsive-gs-12col.css" type="text/css" media="screen" />
<link rel="stylesheet" href="{{ static_path }}/css/base.css" type="text/css" media="screen" />
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700|Gentium+Basic" rel="stylesheet" type="text/css" />
<link rel="icon" href="/static/SymPy-Favicon.ico" />
<link rel="icon" href="{{ static_path }}/SymPy-Favicon.ico" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script type="text/javascript" src="/static/javascript/main.js"></script>
<script type="text/javascript" src="{{ static_path }}/javascript/main.js"></script>
{% block extrahead %}{% endblock %}
</head>
<body>
<div class="container">
<header>
<h1><a href="index.html"> <img src="/static/images/logo.png" alt="SymPy Logo" /> SymPy</a></h1>
<h1><a href="index.html"> <img src="{{ static_path }}/images/logo.png" alt="SymPy Logo" /> SymPy</a></h1>
<div id="mobile-menu"><i class="icon-ellipsis-vertical"></i></div>
</header>
<nav id="main-navigation" class="row">
Expand Down Expand Up @@ -111,7 +111,7 @@ <h3>{% trans %}Follow Us{% endtrans %}<h3>
</aside>
</section>
<footer class="row">
<p>Copyright &copy; 2021 SymPy Development Team. </p>
<p>Copyright &copy; {{ copyright_year }} SymPy Development Team. </p>
<p>
{% trans url='https://github.com/sympy/sympy.github.com' %}This page is open source. Fork <a href="{{ url }}">the project on GitHub</a> to edit it.{% endtrans %}
</p>
Expand Down