13 Commits

Author SHA1 Message Date
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
Martin Monperrus 95fe893121
Update README.wiki 9 months ago
Hans-Nikolai Viessmann 2381e7c412
add DokuWiki bb2dw plugin reference to readme file (#138) 9 months ago
Martin Monperrus 2867059f68
fix https://github.com/monperrus/bibtexbrowser/issues/136 10 months ago
Frederik Möllers a8c24dab18
Add internationalization for third-party styles (#137) 10 months ago
Frederik Möllers 8a4122d049 Add internationalization for third-party styles 10 months ago
Frederik Möllers 0f3216a056 Use staging URL 10 months ago
Frederik Möllers bc3a28c815 Translate remaining english strings to german 10 months ago
Frederik Möllers f2195e8a59 Add internationalization for third-party styles 10 months ago
Frederik Möllers 694fe7ceba Improve use of CSS font-weight 10 months ago
  1. 66
      BibtexbrowserTest.php
  2. 3
      README.wiki
  3. 2
      bibtexbrowser.local.php
  4. 6
      bibtexbrowser.php

66
BibtexbrowserTest.php

@ -1455,6 +1455,72 @@ class BibtexbrowserTest extends PHPUnit_Framework_TestCase {
$this->assertEquals(0, count($results)); $this->assertEquals(0, count($results));
} }
function test_tags_pagination() {
// Define the page size for pagination
bibtexbrowser_configure('TAGS_SIZE', 2);
// Create a test BibTeX database with multiple entries and keywords
$bibtex = "@article{paper1,title={Paper One},keywords={tagA, tagB},year=2020}
@article{paper2,title={Paper Two},keywords={tagC},year=2020}
@article{paper3,title={Paper Three},keywords={tagD},year=2020}
@article{paper4,title={Paper Four},keywords={tagE},year=2020}";
$test_data = fopen('php://memory','r+');
fwrite($test_data, $bibtex);
fseek($test_data, 0);
$db = new BibDataBase();
$db->update_internal("inline", $test_data);
// Create MenuManager display
$display = new MenuManager();
$display->setDB($db);
// Test the first page
$_GET["tags_page"] = '1';
ob_start();
$display->display();
$output1 = ob_get_clean();
// Tags are sorted alphabetically.
$this->assertStringContainsString('tagA', $output1);
$this->assertStringContainsString('tagB', $output1);
$this->assertStringNotContainsString('tagC', $output1);
// Verify pagination link to the next page
$this->assertStringContainsString('keywords_page=2', $output1);
// Test the second page
$_GET["keywords_page"] = '2';
ob_start();
$display->display();
$output2 = ob_get_clean();
$this->assertStringContainsString('tagC', $output2);
$this->assertStringContainsString('tagD', $output2);
$this->assertStringNotContainsString('tagA', $output2);
$this->assertStringNotContainsString('tagE', $output2);
// Verify navigation links to previous and next pages
$this->assertStringContainsString('keywords_page=1', $output2);
$this->assertStringContainsString('keywords_page=3', $output2);
// Test the third page
$_GET["keywords_page"] = '3';
ob_start();
$display->display();
$output3 = ob_get_clean();
$this->assertStringContainsString('tagE', $output3);
$this->assertStringNotContainsString('tagD', $output3);
// Verify navigation link to the previous page
$this->assertStringContainsString('keywords_page=2', $output3);
$this->assertStringNotContainsString('keywords_page=4', $output3); // No next page
// Clean up
unset($_GET["keywords_page"]);
}
function test_venuevc_pagination() { function test_venuevc_pagination() {
// Define the page size for pagination // Define the page size for pagination
bibtexbrowser_configure('VENUE_SIZE', 2); bibtexbrowser_configure('VENUE_SIZE', 2);

3
README.wiki

@ -60,10 +60,11 @@ The following uses bibtexbrowser under the hood:
* [[http://www.monperrus.net/martin/feeding-mysql-database-with-bibtexbrowser|Feeding a MySQL database from the content of a bibtex file]] * [[http://www.monperrus.net/martin/feeding-mysql-database-with-bibtexbrowser|Feeding a MySQL database from the content of a bibtex file]]
* Publication lists in Wordpress with [[http://www.monperrus.net/martin/wp-publications|wp-publications]] * Publication lists in Wordpress with [[http://www.monperrus.net/martin/wp-publications|wp-publications]]
* [[http://www.monperrus.net/martin/publication-lists-with-hal-and-bibtexbrowser|Publication lists with HAL and bibtexbrowser]] * [[http://www.monperrus.net/martin/publication-lists-with-hal-and-bibtexbrowser|Publication lists with HAL and bibtexbrowser]]
* Generating publication lists in DokuWiki using the [[https://www.dokuwiki.org/plugin:bb4dw|bb4dw plugin]]
=====Demo and screenshot===== =====Demo and screenshot=====
Demo: [[http://bibtexbrowser.sourceforge.net/bibtexbrowser.php?bib=metrics.bib|Here, you can browse a bibtex file dedicated to software metrics]]
Demo: [[https://www.monperrus.net/martin/bibtexbrowser.php|Here, you can browse a bibtex file of Martin's papers.]]
<img height="500" src="https://www.monperrus.net/martin/bibtexbrowser/bibtexbrowser-screenshot.png" alt="bibtexbrowser screenshot"/> <img height="500" src="https://www.monperrus.net/martin/bibtexbrowser/bibtexbrowser-screenshot.png" alt="bibtexbrowser screenshot"/>

2
bibtexbrowser.local.php

@ -3,7 +3,7 @@ bibtexbrowser_configure('ABBRV_TYPE','key');
// use tabular layout (HTML tables) // use tabular layout (HTML tables)
bibtexbrowser_configure('BIBTEXBROWSER_LAYOUT','table'); bibtexbrowser_configure('BIBTEXBROWSER_LAYOUT','table');
// URL to individual files // URL to individual files
bibtexbrowser_configure('BIBTEXBROWSER_URL',"https://publications.zrd-saar.de/");
bibtexbrowser_configure('BIBTEXBROWSER_URL',"https://publications-staging.zrd-saar.de/");
// URL to jQuery // URL to jQuery
bibtexbrowser_configure('JQUERY_URI', '/static/jquery-3.6.4.min.js'); bibtexbrowser_configure('JQUERY_URI', '/static/jquery-3.6.4.min.js');
// URL to MathJax // URL to MathJax

6
bibtexbrowser.php

@ -2584,6 +2584,10 @@ function JanosBibliographyStyle($bibentry) {
$result = implode(", ",$entry).'.'; $result = implode(", ",$entry).'.';
// some comments (e.g. acceptance rate)?
if ($bibentry->hasField('comment')) {
$result .= " (".$bibentry->getField("comment").")";
// add the Coin URL // add the Coin URL
$result .= "\n".$bibentry->toCoins(); $result .= "\n".$bibentry->toCoins();
@ -2994,7 +2998,7 @@ class MenuManager {
} else $page = 1; } else $page = 1;
if (count($tags)>0) $this->displayMenu('Keywords', $tags, $page, bibtexbrowser_configuration("MENU_SIZE"), Q_TAG_PAGE,
if (count($tags)>0) $this->displayMenu('Keywords', $tags, $page, bibtexbrowser_configuration("TAGS_SIZE"), Q_TAG_PAGE,
Q_TAG); Q_TAG);
} }

Loading…
Cancel
Save