Compare commits

...

22 Commits

Author SHA1 Message Date
Frederik Möllers 5b755a7e82 Fix notes for @misc items 3 weeks ago
Frederik Möllers 295a6afe72 Fix missing braces in if-statements 3 weeks ago
Frederik Möllers d51bd29402 Add notes to entries (in addition to comments) 3 weeks ago
Frederik Möllers c7abb01eae Merge remote-tracking branch 'upstream/master' into staging 2 months ago
Frederik Möllers 05fe036ba6 Don't fail makehtml.sh if no *.dat file exists 6 months ago
Frederik Möllers f4298cf171 Add comment field to JanosBibliographyStyle 6 months ago
Frederik Möllers d714808318 Merge branch 'master' into staging 6 months ago
Frederik Möllers c0912e172c Merge branch 'github' 6 months ago
Frederik Möllers ef723ef291
Merge branch 'monperrus:master' into master 6 months ago
Frederik Möllers e2154ea9b0 Translate remaining english strings to german 7 months ago
Frederik Möllers 24689aceb4 Add internationalization for third-party styles 7 months ago
Frederik Möllers 0bd87f51fd Improve use of CSS font-weight 7 months ago
Frederik Möllers 8a4122d049 Add internationalization for third-party styles 7 months ago
Frederik Möllers 0f3216a056 Use staging URL 7 months ago
Frederik Möllers bc3a28c815 Translate remaining english strings to german 7 months ago
Frederik Möllers f2195e8a59 Add internationalization for third-party styles 7 months ago
Frederik Möllers 694fe7ceba Improve use of CSS font-weight 7 months ago
Frederik Möllers 3f104a22b9 Ignore MacOS .DS* files 8 months ago
Frederik Möllers 63dc0d58bb Use self-hosted JavaScript libraries 8 months ago
Frederik Möllers c0e8d54438 Slight improvements 9 months ago
Frederik Möllers e259e5e131 Build custom URLs to point to our static files 9 months ago
Frederik Möllers 52b67afd92 ZRD-specific changes and generation of first draft 9 months ago
  1. 6
      .gitignore
  2. 48
      bibtexbrowser.after.php
  3. 42
      bibtexbrowser.css
  4. 22
      bibtexbrowser.german.php
  5. 63
      bibtexbrowser.local.php
  6. 10
      bibtexbrowser.php
  7. 57
      makehtml.sh
  8. 16
      persons.txt
  9. 1
      php_cli.ini
  10. 3
      prepend.php
  11. 53
      static/TeX-AMS_HTML.V2.7.1.js
  12. BIN
      static/fonts/manrope-v19-latin_latin-ext-200.woff2
  13. BIN
      static/fonts/manrope-v19-latin_latin-ext-300.woff2
  14. BIN
      static/fonts/manrope-v19-latin_latin-ext-500.woff2
  15. BIN
      static/fonts/manrope-v19-latin_latin-ext-600.woff2
  16. BIN
      static/fonts/manrope-v19-latin_latin-ext-700.woff2
  17. BIN
      static/fonts/manrope-v19-latin_latin-ext-800.woff2
  18. BIN
      static/fonts/manrope-v19-latin_latin-ext-regular.woff2
  19. 62
      static/fonts/manrope.css
  20. 20
      static/iframe-resizer.child.js
  21. 20
      static/iframe-resizer.parent.js
  22. 2
      static/jquery-3.6.4.min.js
  23. BIN
      static/loading.gif
  24. 1
      static/tex-mml-chtml.js

6
.gitignore

@ -0,0 +1,6 @@
# ignore generated artifacts
/artifacts
# ignore temporary directory if it remains after testing or so
/temp
# ignore Mac OS hidden files
/**/.DS_Store

48
bibtexbrowser.after.php

@ -0,0 +1,48 @@
<?php
/**
* A helper Display class that is just like SimpleDisplay but just never
* outputs section headers (i.e. year numbers). Used by YearCatDisplay.
**/
class NoHeaderDisplay extends SimpleDisplay {
function changeSection($pred, $bib) {
return false;
}
}
/**
* A modified "Academic" display, with reversed grouping. First grouping is by
* year, then by category. Uses NoHeaderDisplay to not have year numbers within
* categories.
*/
class YearCatDisplay extends AcademicDisplay {
/** an array of strings representing years */
var $yearIndex;
/** transforms a query to HTML
* $ query is an array (e.g. array(Q_YEAR=>'2005'))
* $title is a string, the title of the section
*/
function search2html($query, $title) {
$entries = $this->db->multisearch($query);
if (count($entries)>0) {
echo "\n".'<div class="theader">'.$title.'</div>'."\n";
}
$display = new NoHeaderDisplay();
$display->setEntries($entries);
$display->display();
}
function display() {
$this->db = createBibDataBase();
$this->db->bibdb = $this->entries;
$this->yearIndex = $this->db->yearIndex();
foreach($this->yearIndex as $year) {
echo "\n".'<div class="sheader">'.$year.'</div>'."\n";
foreach (_DefaultBibliographySections() as $section) {
$this->search2html(array_merge(array(Q_YEAR=>$year), $section['query']),$section['title']);
}
}
}
}
?>

42
bibtexbrowser.css

@ -0,0 +1,42 @@
@import url("/static/fonts/manrope.css");
body {
color: rgba(0, 0, 0, 0.8);
font-family: "Manrope",Arial,sans-serif;
font-weight: 500;
line-height: 1.8;
margin: 0;
}
.rheader {
display: none;
}
.sheader {
font-size: 1.5rem;
font-weight: 700;
padding-top: 1.5em;
padding-bottom: .5em;
}
.theader {
display: block;
font-size: 1.25rem;
font-weight: 700;
padding-top: .5em;
padding-bottom: .5em;
}
td.bibref {
display: none;
}
td.bibitem {
padding-left: 1.5rem;
display: block;
}
.bibtitle {
font-weight: 700;
}
a {
color: #C01632;
text-decoration: underline;
outline: none;
}
a:hover {
text-decoration: none;
}

22
bibtexbrowser.german.php

@ -0,0 +1,22 @@
<?php
global $BIBTEXBROWSER_LANG;
$BIBTEXBROWSER_LANG=array();
$BIBTEXBROWSER_LANG['Bachelor\'s thesis'] = "Bachelorarbeit";
$BIBTEXBROWSER_LANG['Books'] = 'Bücher';
$BIBTEXBROWSER_LANG['Book Chapters'] = "Buchbeiträge";
$BIBTEXBROWSER_LANG['Chapter in'] = "Kapitel in";
$BIBTEXBROWSER_LANG['In'] = "In";
$BIBTEXBROWSER_LANG['Master\'s thesis'] = "Masterarbeit";
$BIBTEXBROWSER_LANG['no.'] = "Nr.";
$BIBTEXBROWSER_LANG['No date'] = "Kein Datum";
$BIBTEXBROWSER_LANG['No publications present'] = "Keine Publikationen vorhanden";
$BIBTEXBROWSER_LANG['Other Publications'] = "Andere Veröffentlichungen";
$BIBTEXBROWSER_LANG['pp.'] = "S.";
$BIBTEXBROWSER_LANG['PhD thesis'] = "Dissertation";
$BIBTEXBROWSER_LANG['Refereed Articles'] = "Zeitschriftenbeiträge";
$BIBTEXBROWSER_LANG['Refereed Conference Papers'] = "Konferenzbeiträge";
$BIBTEXBROWSER_LANG['Refereed Workshop Papers'] = "Workshopbeiträge";
$BIBTEXBROWSER_LANG['Technical report'] = "Technischer Bericht";
$BIBTEXBROWSER_LANG['vol.'] = "Bd.";
@define('LAST_AUTHOR_SEPARATOR',' und ');
?>

63
bibtexbrowser.local.php

@ -0,0 +1,63 @@
<?php
bibtexbrowser_configure('ABBRV_TYPE','key');
// use tabular layout (HTML tables)
bibtexbrowser_configure('BIBTEXBROWSER_LAYOUT','table');
// URL to individual files
bibtexbrowser_configure('BIBTEXBROWSER_URL',"https://publications-staging.zrd-saar.de/");
// URL to jQuery
bibtexbrowser_configure('JQUERY_URI', '/static/jquery-3.6.4.min.js');
// URL to MathJax
bibtexbrowser_configure('MATHJAX_URI', '/static/TeX-AMS_HTML.V2.7.1.js');
// target for links
bibtexbrowser_configure('BIBTEXBROWSER_LINKS_TARGET','_blank');
// use IEEE Transactions-like style, e.g. puts authors in front of title
bibtexbrowser_configure('BIBLIOGRAPHYSTYLE', 'JanosBibliographyStyle');
//bibtexbrowser_configure('BIBLIOGRAPHYSECTIONS','AGSorgeBibliographySections');
// Allow "Firstname Lastname" as well as "Lastname, Firstname" for authors
bibtexbrowser_configure('USE_FIRST_THEN_LAST',true);
// Enable all metadata generation
bibtexbrowser_configure('METADATA_COINS',true); // see https://en.wikipedia.org/wiki/COinS
bibtexbrowser_configure('METADATA_GS',true); // metadata google scholar
bibtexbrowser_configure('METADATA_DC',true); // see http://dublincore.org/
bibtexbrowser_configure('METADATA_OPENGRAPH',true); // see http://ogp.me/
bibtexbrowser_configure('METADATA_EPRINTS',true); // see https://wiki.eprints.org/w/Category:EPrints_Metadata_Fields
// include language config
if(isset($_GET['language']))
{
include(preg_replace('/local\.php$/',$_GET['language'].'.php',__FILE__));
}
// Order entries by year, but reverse the order (newest on top)
bibtexbrowser_configure('ORDER_FUNCTION','compare_bib_entry_by_year_reverse');
function compare_bib_entry_by_year_reverse($a, $b)
{
return 0 - compare_bib_entry_by_year($a, $b);
}
// A custom URL builder for the static files we create
bibtexbrowser_configure('BIBTEXBROWSER_URL_BUILDER', 'url_builder_static');
function url_builder_static($bibentry) {
return BIBTEXBROWSER_URL.'keys/'.$bibentry->getKey().'.html';
}
// A custom function for the MathJax footer to use the static URL instead of the CDN one
// Also include iframeResizer JS
function javascript_math() {
?>
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
}
};
</script>
<script type="text/javascript" id="MathJax-script" async src="/static/tex-mml-chtml.js">
</script>
<script type="text/javascript" id="iFrameResizer" src="/static/iframe-resizer.child.js">
</script>
<?php
}
?>

10
bibtexbrowser.php

@ -2584,6 +2584,16 @@ function JanosBibliographyStyle($bibentry) {
$result = implode(", ",$entry).'.';
// some comments (e.g. acceptance rate)?
if ($bibentry->hasField('comment')) {
$result .= " (".$bibentry->getField("comment").")";
}
// some notes (e.g. "accepted for publishing")?
if (($type!="misc") && $bibentry->hasField('note')) {
$result .= " (".$bibentry->getField("note").")";
}
// add the Coin URL
$result .= "\n".$bibentry->toCoins();

57
makehtml.sh

@ -0,0 +1,57 @@
#!/bin/bash
# set some paths/binary names depending on the OS
case "$(uname -s)" in
"Darwin")
PHP="php83"
;;
# "Linux" is Linux
*)
PHP="php"
;;
esac
# URL of the Bibtex file
BIBTEX_URL="https://cloud.hiz-saarland.de/public.php/dav/files/Yj8FtZsTS9TkFWG"
# command to run BibtexBrowser
BIBTEXBROWSER="${PHP} -c \"php_cli.ini\" -f \"bibtexbrowser.php\""
# remove any remaining artifacts and temporary files
rm -rf "artifacts" "temp"
# create output directories and download bibtex file
mkdir -p "artifacts/keys" "temp"
wget -O "temp/zrd.bib" "$BIBTEX_URL"
# if `bibtool` is available, sanitize the bibtex file
if which bibtool >/dev/null 2>&1
then
bibtool "temp/zrd.bib" > "temp/zrd.new.bib"
echo "Bibtool successful!"
mv -f "temp/zrd.new.bib" "temp/zrd.bib"
fi
# copy static files
cp -fR "static" "artifacts/"
for WEBSITE_LANGUAGE in german
do :
# generate full index
eval "$BIBTEXBROWSER \"bib=temp/zrd.bib\" all display=YearCatDisplay language=$WEBSITE_LANGUAGE > \"artifacts/all.${WEBSITE_LANGUAGE}.html\""
# generate index for each person
while read LINE
do :
ALIAS="$(echo "$LINE" | cut -d ':' -f 1)"
SEARCHSTRING="$(echo "$LINE" | cut -d ':' -f 2)"
eval "$BIBTEXBROWSER \"bib=temp/zrd.bib\" \"author=$SEARCHSTRING\" academic=1 language=$WEBSITE_LANGUAGE > \"artifacts/${ALIAS}.${WEBSITE_LANGUAGE}.html\""
done < "persons.txt"
done
# generate page for each key
egrep '^@' "temp/zrd.bib" | sed -e 's/.*\t \(.*\),/\1/' | while read KEY
do :
eval "$BIBTEXBROWSER \"bib=temp/zrd.bib\" \"key=$KEY\" > \"artifacts/keys/${KEY}.html\""
done
# Clean up
rm -rf "temp"
rm -f bibtexbrowser_*.dat

16
persons.txt

@ -0,0 +1,16 @@
ajla:Ajla Hajric
anastasiia:Anastasiia Babych
andreas:Andreas Rebmann
anna:Anna Zichler
frederik:Frederik Möllers
greta:Greta Böttcher
jochen:Jochen Krüger
lina:Lina Nauerz
max:Maximilian Eichacker
natascha:Natascha Schliwinski
niklas:Niklas Dahlem
piotr:Piotr Rataj
simone:Simone Salemi
stephanie:Stephanie Vogelgesang
theresa:Theresa Moll
tim:Tim Schneider

1
php_cli.ini

@ -0,0 +1 @@
auto_prepend_file = "prepend.php"

3
prepend.php

@ -0,0 +1,3 @@
<?php
parse_str(implode('&', array_slice($argv, 1)), $_GET);
?>

53
static/TeX-AMS_HTML.V2.7.1.js
File diff suppressed because it is too large
View File

BIN
static/fonts/manrope-v19-latin_latin-ext-200.woff2

BIN
static/fonts/manrope-v19-latin_latin-ext-300.woff2

BIN
static/fonts/manrope-v19-latin_latin-ext-500.woff2

BIN
static/fonts/manrope-v19-latin_latin-ext-600.woff2

BIN
static/fonts/manrope-v19-latin_latin-ext-700.woff2

BIN
static/fonts/manrope-v19-latin_latin-ext-800.woff2

BIN
static/fonts/manrope-v19-latin_latin-ext-regular.woff2

62
static/fonts/manrope.css

@ -0,0 +1,62 @@
/* manrope-200 - latin_latin-ext */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Manrope';
font-style: normal;
font-weight: 200;
src: url('/static/fonts/manrope-v19-latin_latin-ext-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* manrope-300 - latin_latin-ext */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Manrope';
font-style: normal;
font-weight: 300;
src: url('/static/fonts/manrope-v19-latin_latin-ext-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* manrope-regular - latin_latin-ext */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Manrope';
font-style: normal;
font-weight: 400;
src: url('/static/fonts/manrope-v19-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* manrope-500 - latin_latin-ext */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Manrope';
font-style: normal;
font-weight: 500;
src: url('/static/fonts/manrope-v19-latin_latin-ext-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* manrope-600 - latin_latin-ext */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Manrope';
font-style: normal;
font-weight: 600;
src: url('/static/fonts/manrope-v19-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* manrope-700 - latin_latin-ext */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Manrope';
font-style: normal;
font-weight: 700;
src: url('/static/fonts/manrope-v19-latin_latin-ext-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* manrope-800 - latin_latin-ext */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Manrope';
font-style: normal;
font-weight: 800;
src: url('/static/fonts/manrope-v19-latin_latin-ext-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

20
static/iframe-resizer.child.js
File diff suppressed because it is too large
View File

20
static/iframe-resizer.parent.js
File diff suppressed because it is too large
View File

2
static/jquery-3.6.4.min.js
File diff suppressed because it is too large
View File

BIN
static/loading.gif

Before

Width: 31  |  Height: 31  |  Size: 2.5 KiB

After

Width: 31  |  Height: 31  |  Size: 2.5 KiB

1
static/tex-mml-chtml.js
File diff suppressed because it is too large
View File

Loading…
Cancel
Save