-
Notifications
You must be signed in to change notification settings - Fork 1
Update template to 1.3.8 #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
See changelog for high level, user-facing changes. - docker python install changes. pin watchdog version, turn off unneeded caching. - docker entrypoint changes. run cite process immediately, ensure no simultaneous runs. - first time setup fixes. don't parse config.yaml as yaml, instead customize with string replacement to preserve key order and comments. - add title and link fallbacks to citation component - fix start/end markers for blog post excerpts, and remove special characters from hidden search attribute - change member page from col layout to float - add multi-line option to regex_scan liquid plugin (to support start/end marker bug above) - add new regex_strip liquid plugin to strip all special characters from string - card, code, portrait, post excerpt css fixes - fix testbed image links - (re)include user pr template - fix versioning workflow to correctly parse and split changelog - add show-title and show-subtitle site config options - include site subtitle in description meta tag
See greenelab/lab-website-template#177 . v1.1.1 introduced a regression in `first-time-setup.yaml` when clearing the `gh-pages` branch. I wanted to make the command simpler -- to simply delete everything in the folder -- but I didn't think it through enough. [There is a safeguard to prevent the command from working](https://unix.stackexchange.com/questions/369530/rm-refusing-to-remove-or-directory-skipping), and also even if it did work it would delete the `.git` folder which would break things. Thus, this version reverts the command to how it was before, manually specifying each `.` folder.
Closes #181 and #180 Closes #179 - fix typo in first-time-setup.yaml - fix versioning workflow tag/release - tweak some cite.py and _plugins comments - add commented out `continue` for if user wants to discard sources that have ids that can't be cited by Manubot, per #186 discussion - clean Manubot title/authors/publisher/etc output. trim whitespace and filter. - fix citation, portrait, and float css The tagging/releasing step is now reverted to [how I had it in v1.1.0](https://github.com/greenelab/lab-website-template/pull/166/files#diff-67cc7f4d3d06063e6239e59de699c4a2c768ba544777ded6aa22ab45aa0ad24a), just using `ncipollo/release-action` for both the tag and the release, and removing `mathieudutour/github-tag-action`. Idk why I keep going back and forth. I guess the last time I tried using just `ncipollo` it didn't work? But it seems to be working now (links ephemeral): https://github.com/vincerubinetti/lwt-test/pull/2 https://github.com/vincerubinetti/lwt-test/releases/tag/v1.1.4 --------- Co-authored-by: vincerubinetti <vincerubinetti@users.noreply.github.com>
- explicitly list cite process cache files in gitignore - add default values for all `.get()` calls for extra safety and also to indicate expected type - change `id` to `_id` in plugins. this was done in the main `cite.py` script in v1.1.1 but i missed it in the plugins. - fix dangerous memoize/cache bug where cache key doesn't include the id of the metasource currently being cited, which affects the output - orcid plugin: update api to v3 - orcid plugin: fix bug where all ids for single source were being included. instead, find most recent doi, and fallback to other id type if not available. - orcid plugin: keep a few details from api for ids that aren't citable by manubot - allow `format_date` util func to accept numeric timestamp (returned from orcid api) - tweak member bio page
- various cite process tweaks - add traceback logging of running plugins - change variable names for clarity and consistency - add generic "safe get" function as suggested by Faisal last pr - use generic safe get in place all of all gets. helps fix bug due to orcid api sometimes returning none types for certain fields, and other future bugs.
Unpins all cite process python packages from their exact versions, pins them to **major versions**. This ensures users will be on the latest versions of packages, without breaking changes (assuming the packages follow semver properly), and without having to constantly update their template version (which can be a pain). Closes #210 Addresses #211 FOR THE TEMPLATE MAINTAINER(S) New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate. --------- Co-authored-by: vincerubinetti <vincerubinetti@users.noreply.github.com>
- add discussion templates. be more aggressive requiring fields. - update to latest version of all github actions (checking for breaking changes) - add debug step to each workflow to allow ssh access in - fix site.location vs page.url bug (see issue) - add html-proofer plugin to check for broken images and links, disabled by default because it adds a lot of time to hot-reload, but set explicitly as false in config so users can easily flip it on - update bundler version and re-bundle gems - add "remove" option for cite-process that allows a user to remove a source from a metasource. e.g., an ORCID returns a source that the user doesn't want on their site, so in their sources.yaml they put the id and remove: true. - by default, ignore sources that manubot can't cite if they're from metasources (see changelog) - add markdownify to more component params - fix bug in citation (and other) components where when lookup is blank, first entry in list is always chosen - make use of newly widely available CSS container queries - remove compilation-time wrapping of tables because it breaks nested tables, and is not (practically) possible to support them in the same way. replace with run-time js plugin for wrapping. - upgrade font awesome and improve loading mechanism - fix header title/subtitle CSS bug reported by @Maruuka - add "image" param to post excerpt component, so blog posts can have thumbnails - fix bug that prevents manual passing of tags to tag component - add heading 5/6 styles/support - tweak dark mode plugin - various style tweaks New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate. - [x] I have tested changed workflows on a freshly generated and forked repo.
- fix bug where literal yaml date object doesn't get parsed correctly - fixes addition of site.url by gh-actions workflow New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate.
Closes #250 Closes #256 Closes #260 Closes #258 - adds `affiliation` to member portrait component - simplify portrait component code/css - make tag de-dupe behavior the same as search de-dupe. normalize to lower-kebab-case. - expand list of manubot-supported id types for falling back to orcid api details - change order and type of preferred ids from orcid --------- Co-authored-by: Faisal Alquaddoomi <falquaddoomi@gmail.com> Co-authored-by: vincerubinetti <vincerubinetti@users.noreply.github.com>
Closes #272 Closes #269 Closes #191 (hopefully) New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. Pending change request: https://greene-lab.gitbook.io/lab-website-template-docs/~/changes/a57wjuxagDtJUR241kyt/basics/components/list - [x] I have checked the testbed as appropriate. --- - use `name` field for all debug/logging steps in workflows - use `jwalton/gh-find-current-pr` to get PR number to be more reliable (in rare cases, `github.event.number` can be empty) - fix bug in "first time setup" workflow where `description` gets appended to `user` due to missing `\n` in printf - rename workflows from `.yml` to `.yaml` for consistency - remove useless "build preview" workflow run in "on schedule" † - dont run "update citations" workflow on PR close, which should hopefully avoid issues discussed in #191. in my testing on a fork (vincerubinetti/lab-website-template), it does. need to use step-level `if` skipping instead of job-level or workflow-level because of [this issue](actions/runner#491 (comment)). - when "on schedule" workflow opens a PR, add hint in body of the PR on how to trigger the live preview workflow - use the `xml_escape` liquid filter wherever a user/third-party provided field is used in an HTML attribute to prevent special characters breaking HTML rendering. example: `aria-label="{{ citation.title }}"` and `citation.title` is `"Lorem Ipsum" dataset`, causing attribute to prematurely close. - change `data_filter` to accept Ruby expressions instead of custom syntax. use Ruby `eval` and define each field in the item as a local variable, e.g. `{"animal": "cat"}` lets you use `filter="animal == 'cat'"`. - fix heading anchor styles - add styles for `<details>` element - fix logo shrinking/growing css bugs † due to a [github limitation](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs), it wouldn't not run anyway on the auto-created PR. the user must close/reopen the PR, then the regular "on pr" workflow (which includes running "build preview") will run. i've already [updated the docs to talk about this](https://greene-lab.gitbook.io/lab-website-template-docs/basics/citations#periodic-updates). from now on, let's treat auto-opening PR as the only supported way. previously i considered that the user could change `open-pr` to `false` to have "on schedule" commit updated citations directly to `main`, but let's nix that to maintain simplicity. it's probably better that we force the user to review the changes before pushing them to their live site anyway. if we did want to support that in the future, the "build preview" run i removed would have to be changed to a "build site", since we'd want to be re-building the `main` branch version of the site, not a preview for a PR. --------- Co-authored-by: Faisal Alquaddoomi <falquaddoomi@gmail.com>
Closes #288 Closes #287 Closes #285 New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate. --- - use latest major version of setup-ruby gh-action - run "commit cache" step if citations step fails so that progress (successful citations) will be saved - replace xml_escape filter with appropriate escapes for each situation, and slightly modify regex_strip filter to allow some basic punctuation
Closes #293 Addresses #294 Closes #295 Addresses #296 - "pi" -> "principal-investigator" to encourage more specific names - add bluesky icon by default - fix header/footer/section background image regressions from v1.3.0 - upgrade font awesome version - do full audit of changes from v1.3.0 and v1.3.1, and all `_escape` filters applied. make fixes/simplifications where applicable. FOR THE TEMPLATE MAINTAINER(S) New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate.
Closes #298 Closes #301 Closes #302 - adds support for multiple blog post authors - improves citation error logging - adds status badges to first time setup workflow to add it to user readmes New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate.
Closes #305 This explanation is a bit hand-wavy, because I still can't follow the logic exactly. I find it hard to debug the flow of things in Jekyll because, while there's a `--trace` flag, the trace seems to be just the under-the-hood Ruby code, and not e.g. "you used this `_include` in this markdown file on this line, which then used this other `_include`, which then ran this Ruby filter, etc.". But in general: Certain nested content (I think within the `post-excerpt` hidden `data-search` attribute) ended up making its way to `relative_url` in `content.html` (which should just be a url), but only in certain rare cases where the peculiarity of the regex matching in the `section` component didn't prevent it. - change regex matching of `section` params in `content.html` to non-greedy, as they should've always been - change string pattern of passing `section` params to `content.html` from `param: value;` to `<param>value</param>`. this should reduce the chances of incorrect parsing, because one of the params is a URL, which can have `;` characters in them, which would confuse the old format. - fix unrelated bug where home page tab title looks like `| Lab Website Template` when it should just be `Lab Website Template` because the page title is `""` - strip all html from `post-excerpt` `data-search` attribute, as it always should've been. is part of the main bug fix of this PR, but also will reduce false-positive search matches, because without it, `data-search` contains e.g. single `p` characters leftover from `<p>` tags. now `data-search` should truly only be the content of the post. While not fully understanding the full flow of the root issue here, I think I've added enough safety mechanisms in enough spots to prevent similar issues from occurring in the future. New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate.
Closes #321 Closes #320 Closes #322 Supersedes #323 Co-authored by @d33bs FOR THE TEMPLATE MAINTAINER(S) New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate.
Updates the behavior of the `orcid.py` script again to address #327. See [this comment specifically](greenelab/lab-website-template#327 (comment)) for tests of the new behavior on various real ORCIDs. The behavior before this PR: - only use `work-summary` field and not the top level `external-ids` field - find first ID of certain relationship type - if none found, ignore work completely - if ID found, and ID can't be cited by Manubot, keep citation details from ORCID Behavior after this PR (more general/flexible): - only use `work-summary` field and not the top level `external-ids` field. this still appears to be the correct choice, because after testing with various ORCIDs, the former seems to reflect the author-selected "preferred source" whereas the latter doesn't. - filter possible IDs by filter function (hard reject/accept) - is ID of certain relationship type? - is ID of certain type (e.g. `doi`)? (commented out by default) - is ID citable by Manubot? - sort possible IDs by sort function (soft prefer/deprioritize) - prefer particular ID types (e.g. `doi`) before others - pick first ID available after filtering and sorting - if picked ID is citable with Manubot, do that, otherwise keep citation details from ORCID I think this code offers easier flexibility. For example, a user could make "citable by Manubot" a soft requirement (maybe they want to always prefer some obscure ID type when it exists, even if it means using the citation data from ORCID instead of Manubot) very easily by moving it from the filter function to the sort function. New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate. --------- Co-authored-by: vincerubinetti <8326331+vincerubinetti@users.noreply.github.com>
Re-closes #191, specifically [this comment](greenelab/lab-website-template#191 (comment)). Tested on a personal fork. When a user has the "automatically delete branch on merge" setting enabled, by the time the `build-preview.yaml` workflow runs on pull request close, the branch is already gone and `actions/checkout` fails. There are a few ways to solve this: 1. In the `actions/checkout` step, check out the `main` branch if the event is a PR close (regardless of the "auto-delete" option), or check out the PR branch otherwise. 2. Always try to check out the PR branch, and if it errors (user has the "auto-delete" option on), then try to check out `main`. 3. Only run first half of workflow if PR event != close. Then, always (on any PR activity) run the second half which gets all closed PR numbers and deletes their associated preview folders. 1 or 2 would work going forward, but I opted for the 3rd option because it will retroactively fix user's repos that have been affected by this shortcoming so far, like Casey's: <img height="200" alt="Screenshot 2025-07-29 at 5 50 36 PM" src="https://github.com/user-attachments/assets/51649a7b-3b42-4768-a0dd-6b3d568aa841" /> New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate.
Closes #340 Supercedes #332 Thank you to @GuillaumeBroggi for the additional ORCID plugin feature New template version checklist: - [x] I have updated CITATION and CHANGELOG as appropriate. - [x] I have updated lab-website-template-docs as appropriate. - [x] I have checked the testbed as appropriate.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request updates the Lab Website Template from version 1.3.7 to 1.3.8, incorporating minor enhancements and example content for demonstration purposes.
Key changes:
- Updated version metadata and added DOI identifier to citation file
- Added commented-out code in ORCID plugin for optional source filtering
- Included example team member profiles with placeholder content
Reviewed Changes
Copilot reviewed 5 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| CITATION.cff | Updated version to 1.3.8, release date to 2025-11-17, and added DOI identifier |
| CHANGELOG.md | Documented version 1.3.8 changes including GitHub Actions workflow improvements and ORCID plugin updates |
| _cite/plugins/orcid.py | Added commented-out code to skip sources without available IDs, as documented in changelog |
| _styles/background.scss | Added missing newline at end of file for consistency |
| _members/sarah-johnson.md | Added example team member profile with placeholder data |
| _members/john-doe.md | Added example alumni profile with placeholder data |
| _members/jane-smith.md | Added example principal investigator profile with placeholder data |
| _data/sources.yaml | Removed extraneous blank lines for cleaner formatting |
| README.md | Removed unnecessary indentation from markdown content |
| images/photo.jpg | Added placeholder photo for example member profiles |
| images/logo.svg | Added new animated SVG logo with floating bubble effects |
| images/fallback.svg | Reformatted SVG file across multiple lines for readability |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # if not id_type or not id_value: | ||
| # continue | ||
|
|
Copilot
AI
Nov 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment appears to contain commented-out code.
| # if not id_type or not id_value: | |
| # continue |
This website is based on the Lab Website Template.
See its documentation for working with this site:
https://greene-lab.gitbook.io/lab-website-template-docs