From 3ca1dc3a169e7d6037e5a8af54ba52d7e5c80a8e Mon Sep 17 00:00:00 2001 From: eliselavy <35602279+eliselavy@users.noreply.github.com> Date: Thu, 18 Apr 2024 15:24:49 +0200 Subject: [PATCH] v3.0.1 (#221) * https://github.com/C2DH/journal-of-digital-history-backend/issues/205 * Feature/pdf (#213) New Celery task allowing to generate the pdf of an article Use of nbconvert --to pdf Use of citeproc to insert reference * subprocess- stderr - https://github.com/C2DH/journal-of-digital-history-backend/issues/209 * add pandoc / https://github.com/C2DH/journal-of-digital-history-backend/issues/209 * remove extra line * Update Dockerfile * add debug + texlive * FROM pandoc/core:latest * comment lxml / psycopg2-binary * revert changes * https://github.com/C2DH/journal-of-digital-history-backend/issues/209 * https://github.com/C2DH/journal-of-digital-history-backend/issues/209 * https://github.com/C2DH/journal-of-digital-history-backend/issues/209 * Update notebook_with_ref.ipynb * check json * https://github.com/C2DH/journal-of-digital-history-backend/issues/209 tag hermeneutics for markdown cell / code cell * jdh_statistics * jdh stats * Update jdh_statistics.ipynb * https://github.com/C2DH/journal-of-digital-history-backend/issues/216 * add filter API / https://github.com/C2DH/journal-of-digital-history-backend/issues/19 * ordering pid / #19 * addition article_status in watermak only if not published yet / #220 * condition on contrib-id-type="orcid" / #193 * remove journal code in the elocation ID / #192 * addition open-issue attribute / #191 --- jdhapi/utils/doi.py | 2 +- jdhseo/templates/jdhseo/article_detail.html | 35 +++++++++++--------- jdhseo/templates/jdhseo/article_dg.xml | 6 ++-- jdhseo/templates/jdhseo/issue_dg.xml | 2 +- peer_review_L2gBr3BzwH8Z.pdf | Bin 13087 -> 0 bytes 5 files changed, 25 insertions(+), 20 deletions(-) delete mode 100644 peer_review_L2gBr3BzwH8Z.pdf diff --git a/jdhapi/utils/doi.py b/jdhapi/utils/doi.py index b283fb6..5b9e6da 100644 --- a/jdhapi/utils/doi.py +++ b/jdhapi/utils/doi.py @@ -58,7 +58,7 @@ def get_doi_url_formatted(doi): # http://www.wiki.degruyter.de/production/files/dg_variables_and_id.xhtml#elocation-id def get_elocation_id(publisher_id): # PublisherId: jdh-2021-1000 - elocation_id = publisher_id.replace("-", "").replace("JDH", "") + elocation_id = publisher_id.replace("-", "").replace("jdh", "") return elocation_id diff --git a/jdhseo/templates/jdhseo/article_detail.html b/jdhseo/templates/jdhseo/article_detail.html index d5d76a5..deb27a6 100644 --- a/jdhseo/templates/jdhseo/article_detail.html +++ b/jdhseo/templates/jdhseo/article_detail.html @@ -190,23 +190,26 @@ .email a:link, a:visited, a:focus { } - /* Add this CSS to style the watermark on all pages */ - @media print { - body::after { - content: "PEER-REVIEW"; - position: fixed; - transform: rotate(-45deg); - opacity: 0.2; - font-size: 50pt; - color: black; - top: 50%; - left: 50%; - transform-origin: center; /* Center the transform origin */ - transform: translate(-50%, -50%) rotate(-45deg); /* Center the watermark using transform and translate */ - z-index: -1; - white-space: nowrap; - pointer-events: none; + {% if article.status != "PUBLISHED" %} + /* Add this CSS to style the watermark on all pages */ + @media print { + body::after { + content: "{{ article.status }}"; + position: fixed; + transform: rotate(-45deg); + opacity: 0.2; + font-size: 50pt; + color: black; + top: 50%; + left: 50%; + transform-origin: center; /* Center the transform origin */ + transform: translate(-50%, -50%) rotate(-45deg); /* Center the watermark using transform and translate */ + z-index: -1; + white-space: nowrap; + pointer-events: none; + } } + {% endif %} } } diff --git a/jdhseo/templates/jdhseo/article_dg.xml b/jdhseo/templates/jdhseo/article_dg.xml index e23d1f8..5f88468 100644 --- a/jdhseo/templates/jdhseo/article_dg.xml +++ b/jdhseo/templates/jdhseo/article_dg.xml @@ -23,7 +23,9 @@ {% for contrib in articleXml.authors %} - {{ contrib.orcid }} + {% if contrib.orcid %} + {{ contrib.orcid }} + {% endif %} {{ contrib.surname }} {{ contrib.given_names }} @@ -49,7 +51,7 @@ {{ articleXml.issue_date|date:"m"}} {{ articleXml.issue_date|date:"Y" }} - {{ articleXml.volume }} + {{ articleXml.volume }} {{ articleXml.issue }} {{ articleXml.elocation_id }} diff --git a/jdhseo/templates/jdhseo/issue_dg.xml b/jdhseo/templates/jdhseo/issue_dg.xml index ba8163a..3c7ce2b 100644 --- a/jdhseo/templates/jdhseo/issue_dg.xml +++ b/jdhseo/templates/jdhseo/issue_dg.xml @@ -24,7 +24,7 @@ 09 2021 - 1 + 1 1 jdh.2021.1.issue-1 diff --git a/peer_review_L2gBr3BzwH8Z.pdf b/peer_review_L2gBr3BzwH8Z.pdf deleted file mode 100644 index 07f7feafdada5a91ab92c7980df2740402af1d4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13087 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