Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Oreoezi committed May 4, 2024
0 parents commit 4806568
Show file tree
Hide file tree
Showing 9 changed files with 169 additions and 0 deletions.
21 changes: 21 additions & 0 deletions .github/actions/markdown-to-pdf/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Markdown PDF Exporter"
description: "Converts markdown files with mathjax to PDFs, allowing for special tags to control page breaks."
runs:
using: "composite"
steps:
- uses: tecolicom/actions-use-apt-tools@v1
with:
tools: 'pandoc chromium-browser'
cache: yes
- name: "Convert markdown files to PDFs"
shell: bash
run: ${{ github.action_path }}/convert.sh ${{ github.action_path }}/template.html
- name: "Zip PDFs"
shell: bash
run: zip -r documente.zip output/
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
documente.zip
14 changes: 14 additions & 0 deletions .github/actions/markdown-to-pdf/convert.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
template=$1

for file in $(find . -name "*.md")
do
dir=$(dirname "${file}")
temp_file="${dir}/temp.md"
sed 's/\\R/\\mathbb{R}/g; s/\\N/\\mathbb{N}/g' "${file}" > "${temp_file}"
mkdir -p "./output/${dir}"
pandoc "${temp_file}" --mathjax -s --template $template -o "${temp_file%.md}.html"
chromium --headless --print-to-pdf="${file%.md}.pdf" --no-pdf-header-footer --run-all-compositor-stages-before-draw --virtual-time-budget=300 "${temp_file%.md}.html"
mv "${file%.md}.pdf" "./output/${dir}"
rm "${temp_file}"
rm "${temp_file%.md}.html"
done
42 changes: 42 additions & 0 deletions .github/actions/markdown-to-pdf/template.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<html>
<head>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<style>
table {
border-collapse: collapse;
}
table, th, td {
border: 1px solid black;
text-align: center;
}
@media print {
@page {
margin-left: 1.2cm;
margin-top: 1.2cm;
width: calc(100% - 4cm);
height: calc(100% - 4cm);

}
.grafic {
page-break-after: always;
page-break-before: avoid;
}
body {
margin: 0;
page-break-inside: avoid;
}
table {
page-break-inside: avoid;
}

pb {
display: block;
page-break-after: always;
}
}
</style>
</head>
<body>
$body$
</body>
</html>
12 changes: 12 additions & 0 deletions .github/workflows/md-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
on:
push:
tags: ['*']

jobs:
export-pdfs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Export PDFs
uses: ./.github/actions/markdown-to-pdf
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
output/
*.zip
*.pdf
25 changes: 25 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Code of Conduct

## Scop

Scopul acestor repository-uri este de a ajuta studenti ai [Facultatii de matematica si informatica, Unibuc](https://fmi.unibuc.ro/) prin resurse cum ar fi examene din anii trecuti sau clarificari cu privire la activitatea parcursa in cadrul unei materii (ghiduri, exemple, etc.). Scopul nu este de a fi o resursa pentru copiat teme, proiecte sau rezolvari de examene.

Oricine este primit sa contribuie prin corecturi ale materialelor existente, indiferent de profilul ales, insa examenele compilate vor fi doar de la sectia de Calculatoare si Tehnologia Informatiei,exceptii fiind materiile care au o programa foarte similara cu echivalentul lor de la sectia de Informatica, sau care au dat aceleasi subiecte de examen in trecut la ambele facultati.

## Asteptari

Ma astept la un comportament adecvat pentru un student universitar. Limbajul sa fie coerent, formal si concis. Nu am asteptarea ca fiecare contribuitor sa fi citit acest document in intregime, insa am asteptarea sa aiba destula intuitie incat sa nu faca abateri grave de la reguli. Acestia vor fi avertizati, insa pentru situatii de genul nu vor fi revocate permisiunile de a contribui decat in cazuri repetate.

## Comportament inadecvat

Aceste materiale sunt oferite doar drept un reper, nu creati issue-uri daca aveti neclaritati. Sunt destule comunitati pentru studenti facute pentru scopul de invatat in grup sau de ajutat unii pe altii. Daca ati inteles materialul dar considerati ca se pot face anumite clarificari, creati un issue cu problema intampinata si solutia propusa sau un pull request.

Nu creati issue-uri in care cereti materiale. Daca acestea nu au fost publicate, probabil nu sunt disponibile (i.e sa nu vad un issue cu titlul "Unde este subiectul din 2018?"). Daca insa aveti disponibile materialele respective, puteti sa faceti un pull request. Daca nu sunt in formatul corespunzator (i.e fisiere binare cum ar fii DOCX sau PDF) si nu sunteti familiari cu sintaxa markdown (sau, unde e necesar, LaTeX) puteti face un issue in care oferiti un link de download sau atasament (sau prin email la `oreoezi@oreo.ac`) catre materialele respective.

Nu hartuiti utilizatori in comentarii la issue-uri sau pull request-uri. Sunteti la o varsta la care ar trebui sa fiti constienti ca nu toti se nasc invatati. Daca un alt utilizator incalca regulile din Code of Conduct, acest lucru nu inseamna ca este permisa hartuirea acestora. Puteti sa le atrageti atentia sa reformuleze un issue daca este neclara problema pe care o intampina sau sa il inchida daca este in afara scopului repository-ului.

Nu hartuiti profesori in issue-uri, oricat de frustranti pot fi. Acesta nu este un loc pentru barfa sau criticat subiecte, ci doar pentru indexarea lor.

## Raportarea abuzului

Puteti atrage atentia utilizatorilor ce incalca regulile printr-un quote post sau printr-un email la `oreoezi@oreo.ac`.
28 changes: 28 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Contributing

Materialele care pot fi contribuite includ, dar nu sunt limitate la:
- subiecte de examen sau colocviu
- subiecte propuse de examen sau colocviu
- subiecte rezolvate de catre profesor
- compilatii de probleme propuse la curs
- ghiduri de rezolvare a unor subiecte tipice

Nu contribuiti subiecte rezolvate de voi chiar daca in urma rezolvarii examenului ati obtinut punctaj maximal. Exista posibilitatea ca un profesor sa rateze o greseala la corectare (avand sute de lucrari este justificat) sau sa nu fie reprezentativ calificativul obtinut (i.e nota marita din puncte bonus, grading on a curve, etc). Nu contribuiti teme rezolvate din aceleasi motive.

Examenele vor fi scrise in format markdown, precizand in antet, in cazul in care sunt cunoscute, urmatoarele informatii:
- anul in care a fost dat subiectul (daca acelasi subiect a fost dat in ani diferiti sunt separati prin virgula)
- daca subiectul a fost dat in restanta
- seria (sau grupa) la care a fost dat subiectul (daca sunt mai multe)
- numarul subiectului (daca sunt mai multe)

Orice material cu notatii matematice va folosi sintaxa [MathJax](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference), insa, daca nu sunteti familiarizati cu sintaxa, puteti crea un issue sau sa trimiteti un email la `oreoezi@oreo.ac` cu o cale de a descarca materialul in formatul alternativ. Acestea pot fi documente PDF, DOCX sau chiar poze facute la foaie cu telefonul, atata timp cat este lizibil materialul.

Nu contribuiti fisiere in formate binar, cu exceptia imaginilor atata timp cat nu sunt de inalta rezolutie. Exemple de fisiere binare includ, dar nu sunt limitate la:
- Documente (ex: DOCX, PDF, ODT)
- Executabile (rezultatul compilarii, ex: fisiere `.exe`, `.vhl` sau fisiere javascript rezultate din compilarea typescript)
- Arhive (ex: ZIP, RAR, TAR)
- Fisiere in format binar proprietar (ex: rezolvari in Cisco Packet Tracer sau AutoCAD)

Nu incarcati materiale din alte repository-uri fara consimtamantul autorului daca licenta nu precizeaza acest drept, chiar si daca materialele au fost prelucrate. In cazuri de genu, includeti link catre resursa in README.

Nu incarcati materiale nelansate (i.e subiecte care urmeaza sa fie date (da, au fost cazuri)).
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT (Magurele Institute of Technologies) License

Copyright (c) 2024 Badea Sabin-Codrut

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Template materie facultate

## Resurse

0 comments on commit 4806568

Please sign in to comment.