Export for academicpages.github.io
The Jekyll template https://academicpages.github.io allows to create a nice academic page. Publications go into the folder https://github.com/academicpages/academicpages.github.io/tree/master/_publications.
JabRef should be able to create these markdown files.
Example: https://github.com/academicpages/academicpages.github.io/blob/master/_publications/2009-10-01-paper-title-number-1.md. Check the RAW file: https://github.com/academicpages/academicpages.github.io/blob/master/_publications/2009-10-01-paper-title-number-1.md?plain=1
Time stamp creation: Order by publication type (Book, Journal, book chapter, inproceedings, all-others).
Mapping
| BibTeX | Markdown |
|---|---|
title |
title |
| - | collection always set to publications |
| - | permalink: to-be-done. Maybe citation key? |
note |
excerpt |
date/year+month+day |
date, use 01 if month or day do not exist |
| venue | booktile/journal (getFieldOrAlias, because it could be journaltitle |
doi/url |
paperurl |
| (all) | citation: Use current preview style (or do something short) |
abstract |
Text below the YAML in Markdown |
Task
- Learn about the markdown file format of
academicpages: https://github.com/academicpages/academicpages.github.io/blob/master/_publications/2024-02-17-paper-title-number-4.md - Read custom export filter
- Read existing .layouts.
- https://github.com/JabRef/jabref/tree/main/src/main/resources/resource/layout/title-markdown
- https://github.com/JabRef/jabref/pull/12220/files
- https://github.com/JabRef/jabref/tree/main/src/main/resources/resource/layout/listrefs
- https://github.com/JabRef/jabref/tree/main/src/main/resources/resource/layout/iso690txt
- Create another folder
academicpagesfor that. - Ensure that the entry type is mapped to
category
Note: Maybe, one also needs to implement some Java code, because the custom exporter is for generating one file, but we want to generate multiple files.
Future work:
- support sub-grouping of inproceedings and all-others (e.g., workshops and conference articles should be distinguished. I personally do it via groups. Maybe a magic "Export" group. Details at https://github.com/koppor/jabref/issues/468)
- https://github.com/koppor/jabref/issues/468
Follow-up issue: https://github.com/JabRef/jabref/issues/12729
/assign-me
π Hey @kaushikaW, thank you for your interest in this issue! π
We're excited to have you on board. Start by exploring our Contributing guidelines, and don't forget to check out our workspace setup guidelines to get started smoothly.
In case you encounter failing tests during development, please check our developer FAQs!
Having any questions or issues? Feel free to ask here on GitHub. Need help setting up your local workspace? Join the conversation on JabRef's Gitter chat. And don't hesitate to open a (draft) pull request early on to show the direction it is heading towards. This way, you will receive valuable feedback.
Happy coding! π
β³ Please note, you will be automatically unassigned if there is not a (draft) pull request within 14 days (by 04 April 2025).
/assign-me
π Hey @GreLucie, thank you for your interest in this issue! π
We're excited to have you on board. Start by exploring our Contributing guidelines, and set up your local development workspace by following the steps in our workspace setup guidelines to get started smoothly.
For questions on JabRef functionality, you can consult the JabRef Guru. For questions related to the codebase, please start using DeepWiki.
In case you encounter failing tests during development, please check our developer FAQs!
Still facing issues or having more questions? Feel free to ask here on GitHub or on JabRef's Gitter chat. Please don't hesitate to open a (draft) pull request early on to show the direction you are heading towards if unsure.
Happy coding! π
Hi @koppor , I am one of the students working with @GreLucie on this issue and I had a question in relation to the mapping, specifically the url/doi that gets converted to the paperurl in the markdown. When I check the format for the markdown demanded by academic pages I see that what they mean by it is the route in the repository to a pdf representation of the publication (entry in Jabref), so wouldn't it be more appropriate to associate 'paperurl' with the pdf link attached to the entry (if it exists) rather than the url or the doi ? thanks,
@sadok-lajmi sounds good. Remember to convert the link and copy the files
@sadok-lajmi sounds good. Remember to convert the link and copy the files
Thank you for the response, I just don't know what u mean by convert the link I might be missing something..
β° Assignment Reminder
Hi @GreLucie, this is a friendly reminder about your assignment to this issue.
[!WARNING] This issue will be automatically unassigned in 11 days if there's no activity.
Remember that you can ask the JabRef Guru or DeepWiki about anything regarding JabRef. Additionally, our contributing guide has hints on creating a pull request and a link to our Gitter chat.
How to keep your assignment
If you are working on it, you can prevent automatic unassignment by:
- Submitting a draft pull request with your progress within 11 days
- Asking for the π Pinned label if you need more time
We appreciate your contribution and are here to help if needed!
Hello @koppor , we had a question about the custom exporter and about how we could export multiple files ("Note: Maybe, one also needs to implement some Java code, because the custom exporter is for generating one file, but we want to generate multiple files."). Did someone ever try something similar before ? Do you think it's necessary to start from an ExporterTamplate ? We tried looking into the documentation but we couldn't find anything that explains specifically the logic behind exporters (not the layouts andΒ formattingΒ ).
@GreLucie You can create a custom exporter .e.g AcademicPagesExporter that simply iterates over all entries and calls the TemplateExporter for each entry... Et voila you should end up with multiple pages
Hi, I have a question for @Siedlerchr or @koppor : I'm running into a problem where after I created a new custom layoutformatter in the package org.jabref.logic.layout.format where all the other layout formatters are and I try to use it in my layout and test it by running ./gradlew run and exporting, it's saying that my new formatter could not be found (and it does this also for another formatter that existed already "ShortMonthFormatter") so I was wondering if there was a file where the layout formatters to be used are explicitly registered in code ? thx
Hi, I have a question for @Siedlerchr or @koppor : I'm running into a problem where after I created a new custom layoutformatter in the package org.jabref.logic.layout.format where all the other layout formatters are and I try to use it in my layout and test it by running ./gradlew run and exporting, it's saying that my new formatter could not be found (and it does this also for another formatter that existed already "ShortMonthFormatter") so I was wondering if there was a file where the layout formatters to be used are explicitly registered in code ? thx
Did you wire your new formatter in org.jabref.logic.layout.LayoutEntry#getLayoutFormatterByName?
I found the method by searching the callers of ShortMonthFormatter
Hi, I have a question for @Siedlerchr or @koppor : I'm running into a problem where after I created a new custom layoutformatter in the package org.jabref.logic.layout.format where all the other layout formatters are and I try to use it in my layout and test it by running ./gradlew run and exporting, it's saying that my new formatter could not be found (and it does this also for another formatter that existed already "ShortMonthFormatter") so I was wondering if there was a file where the layout formatters to be used are explicitly registered in code ? thx
Did you wire your new formatter in
org.jabref.logic.layout.LayoutEntry#getLayoutFormatterByName?I found the method by searching the callers of
ShortMonthFormatter
No I didn't actually but now I know, thank you. it's just that the documentation for how to add a new formatter confused me a bit.
Did you wire your new formatter in
org.jabref.logic.layout.LayoutEntry#getLayoutFormatterByName?I found the method by searching the callers of
ShortMonthFormatterNo I didn't actually but now I know, thank you. it's just that the documentation for how to add a new formatter confused me a bit.
You can update it along the go
Graded to a third issue, because following knowledge is expected:
- Markdown links
- That a file has to be accessible also on other PCs
- "Self-contained export" (this will be learned while working on the issue)