Compare commits

...

22 Commits

Author SHA1 Message Date
Frederik Möllers 5b755a7e82 Fix notes for @misc items 3 months ago
Frederik Möllers 295a6afe72 Fix missing braces in if-statements 3 months ago
Frederik Möllers d51bd29402 Add notes to entries (in addition to comments) 3 months ago
Frederik Möllers c7abb01eae Merge remote-tracking branch 'upstream/master' into staging 4 months ago
Frederik Möllers 05fe036ba6 Don't fail makehtml.sh if no *.dat file exists 8 months ago
Frederik Möllers f4298cf171 Add comment field to JanosBibliographyStyle 8 months ago
Frederik Möllers d714808318 Merge branch 'master' into staging 8 months ago
Frederik Möllers c0912e172c Merge branch 'github' 8 months ago
Frederik Möllers ef723ef291
Merge branch 'monperrus:master' into master 8 months ago
Frederik Möllers e2154ea9b0 Translate remaining english strings to german 9 months ago
Frederik Möllers 24689aceb4 Add internationalization for third-party styles 9 months ago
Frederik Möllers 0bd87f51fd Improve use of CSS font-weight 9 months ago
Frederik Möllers 8a4122d049 Add internationalization for third-party styles 9 months ago
Frederik Möllers 0f3216a056 Use staging URL 9 months ago
Frederik Möllers bc3a28c815 Translate remaining english strings to german 9 months ago
Frederik Möllers f2195e8a59 Add internationalization for third-party styles 9 months ago
Frederik Möllers 694fe7ceba Improve use of CSS font-weight 9 months ago
Frederik Möllers 3f104a22b9 Ignore MacOS .DS* files 10 months ago
Frederik Möllers 63dc0d58bb Use self-hosted JavaScript libraries 10 months ago
Frederik Möllers c0e8d54438 Slight improvements 11 months ago
Frederik Möllers e259e5e131 Build custom URLs to point to our static files 11 months ago
Frederik Möllers 52b67afd92 ZRD-specific changes and generation of first draft 11 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