-
Notifications
You must be signed in to change notification settings - Fork 317
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
v1.0.0 First official version #159
Conversation
✅ Deploy Preview for lab-website-template ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
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.
a few comments as i'm starting through - about to hop to a meeting. I see quite a few vincerubinetti/lab-website-template
instances - should those also include greenelab? i might be misunderstanding how they're used
@vincerubinetti: So, I'm attempting to follow the template version of the instructions using the contents of this PR, but I'm running into some issues; specifically, "first-time-setup" throws the following error in the "Create Pages branch" step:
Some context, in case what I did is messing things up: I ended up resetting my fork's I would have added this as a review comment, but again I'm not sure if it's user error or not. Thanks! EDIT: Well, what do you know, I ran into your comment, Vince: peterjgrainger/action-create-branch#372. I went ahead and enabled read/write permissions for actions and then was able to run the "first-time-setup" action, so kudos. I'd suggest adding that step to the instructions, as it's apparently now vital. |
Not user error. It looks like the permissions of the GITHUB_TOKEN (actions token) aren't sufficient:
I think you either need to enable "write and read permissions" under the actions settings of your repo, OR add this to the
This slipped my mind as I was trying to figure out whether you had to do both of these things. I think I determined you only need to do the |
Ok - I don't have time to go through the code, but I've looked at the docs and demo website and it's looking great! Consider this a 👍 from me pending @falquaddoomi's successful test of the docs :) |
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.
Nice work! There's one comment on the card component that should definitely be addressed, but otherwise this looks good IMHO. I pulled this PR branch into my fork, then made a template from that so I could follow the most likely path people would use (i.e., deriving a template and then editing it, rather than using a fork). I followed the setup process from the docs, made a few commits to my generated repo, and within a minute or two saw them reflected on GitHub pages. Very cool! I also tried out the PR preview support, which frankly is amazing and beats the pants off of having to integrate Netlify. 🙌
I tried out all the components, during which I noticed a few funny bits in the docs. I'm mentioning them here since AFAICT the docs are in a separate repo; let me know if you'd like me to move these into an issue on the docs repo instead. The points were:
- Section: this is good, but the "bonus tip" on putting it before a header turned out to be pretty important, as it appears to be scoped to level 1 and 2 headings. I'd suggest emphasizing that.
- List: I think it'd be helpful to spell out which standard data item (you mention "citations, posts, members") goes with which component. I only see the "citation" component mentioned in the example, and don't know what other options there are to display the other data items. If you're intended to create your own component, it'd be nice to see that mentioned.
- Post Excerpt: The
lookup
attribute's help text mentions that the post is looked up by filename, but it appears to just be the portion of the filename after the date and not including the extension. It might be good to spell that out, and that "posts" is a folder, e.g. "Lookup post details from theposts
folder by the part of the filename following the date and not including the extension. For example,2023-02-25-new-horizons.md
would be referenced as justnew-horizons
." (...but, uh, less clumsily worded than that...) - Cols: the example include references
grid.html
, but I imagine it should becols.html
. I wasn't able to get my test to work until I switched tocols.html
, at least. - Search: It wasn't clear to me that this filters list components on the same page. You link to "certain components", but it takes you to a JavaScript file that's frankly a little difficult for me to understand, let alone someone who doesn't know JS. It'd be nice if this functionality was spelled out on the help page for the component, as well as some guidance on how you might use it.
One last thing: I know there's not much you can (or perhaps even should) really do about this, but when you update your template from the upstream repo, it pulls the entire history into your template. Off the top of my head, I wonder if you could perhaps pull upstream's main into a branch, squash everything into a single commit, and then merge that into the template's main? Of course, this is only if you see this as a problem. I also don't know how it would work if commits from upstream and the end-user on the template were interleaved versus upstream strictly being in the past. Anyway, we can discuss it later if you like; it's probably fine as-is.
What do you mean by this? Section breaks should be able to go anywhere. There are places in the example pages where they come before/after no heading at all.
👍
This is definitely the most complex plugin, and I don't like it, but I don't think it can be done any simpler unless the site was built on React or something (if I ever do another big rewrite of the template, I'd port it over to something like VuePress or Hexo, I'm getting tired of Jekyll and Ruby's obtuseness and oldness). It doesn't really filter list components. The list component is just a for loop with filtering, and happens at build time. The search happens at run time, so it doesn't really know anything about the list component. All the search plugin/script does is take some search query, either from the URL (from the user clicking a link or tag) or from a search text box that the user typed in, and looks at all elements matching a certain CSS selector (by default, only card, citation, and post-excerpt components), and hides or shows them based on if their text/tag contents match the query string. It also highlights the matched strings, and updates any "info box" components on the page to show how many items were filtered. I'll try to rewrite this section of the docs to make all this clearer.
We can certainly open this as an issue, but I'm not sure how worth it it is. I'm actually not an advanced enough git user to know how to do squash commits from CLI, so I would need help integrating it into first-time-setup (I'm assuming this is where you were suggesting). But even if we did that, the user would still have to repeat the process (if they wanted consistency) each time they pulled in future updates? I'm not sure how many people care about this. If someone really wants a clean commit history, they can do the "use as template" approach, and, anecdotally, it's really only marginally harder to resolve merge conflicts that way. |
Aha, yeah, I was mistaken about how section breaks work. After looking at the implementation and the resulting HTML, which appears to wrap an arbitrary amount of content in a |
Fair points; I just was under the impression that this was the benefit of using a template, i.e. that you're disconnected from the possibly messy commit history of the parent repo, but that benefit is nullified the first time you upgrade the template from upstream. If you and your userbase are fine with that, then yeah, it's a non-issue. |
It creates a section break, not a section. That is, it ends the previous section and starts a new one. It is equivalent to the (non-valid) fragment {% capture section %}
all my section content
{% endcapture %}
{% include section.html content=section %} I found this to be unacceptable; a lot of extra boilerplate, and users would not understand and forget and end up with ugly full-width no-margins page content. So I made the section component work by simply adding an HTML comment as a "section break" marker, then when the Jekyll layout goes to parse the main content of the page, it splits it into an array by that marker, and wraps each in a section (with some extra parameters). This happens in the I don't think users have had problems with this, and I feel the docs page is as clear as it can reasonably be. I feel the concept of a page break from word processing is a familiar enough concept that people will understand, even though under the hood it produces HTML that is different from any other component. |
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.
Awesome; I see the one bug I pointed out is fixed, and you've done quite a bit of other touch-ups since then, too. I took a look at the docs and see that you addressed all the points I brought up in my comments, too. Great work, and definitely good enough approve. Kudos! 🎉
* Initial commit * update readme * Add files via upload * Update README.md * Update README.md * update readme * update readme and init jekyll * add header, footer, plugins, and more * convert absolute_url to relative_url * add section background, refactor repo organization * convert css to sass, add more components * add code, table, and other components * fix anchors, other tweaks * update readme * update readme * update readme * update readme * update readme * add cards, container, rearrange index, and more * add tags, add mobile styles to small card * add contact page, tweak css * add social link, role, and portrait components * add blog and more * add readme contents section, add icons, add 404 * update readme, add tags to blog posts * update readme * update readme * update readme * update readme * update readme * update readme * update readme * update readme * add embeds and update readme * update readme * update readme * add member pages, tweak css, more * add rss, basic team, and more * member list and more * add resources list * add basic research page * add search, update readme, and more * update readme * update readme * update readme * update readme * update readme and more * update readme * update EndBug/add-and-commit to version 5 * update research gh-actions * update readme * Update build-research.py * change actions commit step and update readme * update readme * update readme * update readme * Update README.md * various fixes (#14) - fixes bug in paper date sorting by modifying python build script to pad month and day with leading `0`'s if they don't exist - add new paper to research-input to test date sorting - simplified blog-list component and added section breaks - simplified css for card search component - get rid of "smart" section breaking and instead make it explicit. user must specify where section breaks go - add flat option for figure component - simplify research-list component a bit - change tag component to accept comma separated string, to allow for spaces in tags - add section breaks and empty row checks to blog post layout - various css tweaks - fix css bug where `hide` style was not being respected and thus card search filtering was not working - update index.md to reflect new behavior - fix anchors plugin to only get headings with ids - fix anchors plugin to only move id to parent section if the heading is the first child of the section (this is due to the simplification of the section breaks) - update card search plugin to reflect new class names of component * minor CSS tweaks and anchors plugin fix * remove end section break from blog list component * css tweaks and add mini option to team list component * Update README.md * Update index.md * update readme and index docs * tweak heading css * Update research-input.yml * Update research-input.yml * Update research-input.yml * Update blog-list.html * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update content.html * Update post-nav.html * Update logo.svg * Update header.scss * Update template based on new wiki documentation (#21) - `/icons` -> `/favicons` - `heading` -> `title` in `feature` component - `type` -> `group` in `resource-list` component and `resources.yml` - remove `order` in `team-list` component (until someone requests this) - remove `placeholder` parameter from includes - delete `/_data/team-order.yml` - add quote block styles - delete comments in `/_data/research-input.yml`, `/_data/resources.yml`, `/_includes/header.html` - delete/reduce images - reduce readme to barebones, and refer to wiki for documentation - add license file * Update README.md * rewrite build script (#23) - add more comments (but remove comments at top of file that are already covered in the wiki documentation) - refactor code to < 80 char wide - load yaml with line numbers - add log and exit funcs with color for easier visual identification - add check for input file - add specific catch/errors for opening and parsing input yaml - add check that top level of input yaml is array - add error flag - add single default date - log input yaml line number along with "paper X of N" for much easier troubleshooting - log doi/id - add check that paper is object - add check that paper has id field - add check that paper is not a duplicate - add check that existing output papers are lists of dicts - add catch/error to manubot command - make field extraction from manubot citation more robust - add catch/error for formatting dates - add check for writing output file - add "done" or "done with errors" - removes markdown support in card components (and resource list component) to fix #24 - add lazy-loading to images so research page with 100s of papers doesn't take forever to load - disables card search box until associated javascript has finished loading * update gh-actions workflow * componentize nav links * refresh logo * Minor grammar suggestions (#38) Two incredibly minor suggestions to fix: 1. dangling modifier 2. extraneous comma * make simplifications and additions inspired by tislab website (#35) - add pull request template - (hopefully) fix prevent automatic citations when research output has been touched (already built or edited by the user) - rename automatic citations script, and in general, make the terminology surrounding "research" and "automatic citations" more clear and consistent - add screenshot of template to readme - move front matter defaults for description and background to top of config file as setting - add logo, header, and footer image as config file setting - add nav bar links as config file setting (removes the need to edit the header component directly) - rename google to google-scholar for clarity - add warning to top of research output not to edit - rename `.yml` to `.yaml` in accordance with YAML recommendation and best practice - add banner component which simply shows an image at full page width, for use with full sections - add option to big-link component to look like a big button - remove line-wrapping from (make a single line) the root html element of every component to avoid markdown parsing issues - rename centerer component "html" parameter to "contents" for clarity - add ability to make full width sections, dark sections, and sections with backgrounds with special `<!-- section ___ -->`-like keywords - add LinkedIn - remove need to edit footer manually to add desired social media icons. instead, footer can show all platforms, but only shows ones that are specified in the config settings for the site-wide social media accounts - change logo to config setting and simple `<img>` tag (removes need to edit header file manually to add logo) - refactor social-link component a bit. don't show if link not provided. this way, layouts and components in the template can simply list all social types, and the ones that aren't provided on that page won't display, no need to "if statement" them all - remove build and start scripts, as i'm the only one who will likely use them - many CSS changes and tweaks. namely, import all material design colors for users to use - add full section and banner component to home page as example - add dark and bg section to team page as example * add data and collection fallbacks, rename variations to aliases * fix post info regression * fix file names, remove workflow filter that doesn't work * Rewrite automatic citations script (#39) - rewrite automatic citations script in response to greenelab/greenelab.com#35 - rename variables for clarity - in general, simplify and refactor - remove some util functions - make yaml structure and missing id fields critical errors - make manubot fail as critical error - match output to input by id rather than index - write warning to top of output file - add force push option to hopefully fix and close #30 - remove RSS as social media icon. leave just the meta tag tag can be detected by browser extensions. if some RSS users complain that they need a clickable link to the RSS feed file to subscribe (maybe their RSS client/extension can't detect the meta tag?), we can always add it in again easily * Header/footer, feature, and figure fixes (#47) - fix feature title/heading parameter bug - rework figure sizing parameters to hopefully be more robust and cleaner - allow "none" for site-wide config header/footer settings - add `header/footer-dark: false` option for page and site settings to control header footer background solid color in addition to image - move background styles from section to background sass file - make card medium size same image aspect ratio as large size - style feature image in terms of page width - make feature image natural height and fixed width - other small changes * minor changes * update google fonts, make font weight palette, make new palettes style file * remove flat options * add facebook social link * remove large option from social link component * remove spaced option from centerer component * css tweaks * remove vestigial role component large option * improve figure sizing logic * figure svg sizing fix * fix background dark only bug * make header icons darker, refactor icon styles * Refactor (#60) - make language in gh-actions workflow more declarative and simple - install usefull jekyll plugins and go through entire list of gh-pages supported plugins to determine usefullness - install eventmachine to (hopefully) permanently fix livereload on windows - reorganize `config.yaml`. move nav options to `.md` files themselves. put social links under object for easy/clear iteration - rename `title` params to `name` wherever possible to reduce confusion/collision with `page.title` - combine several separate components into single link component with text and/or icon - abstract link and role types into separate yaml files for easier user-editing - split card component into card component and separate citation component - get rid of centerer component and opt for simpler CSS - make citation component that can read from `citations.yaml` to display a single citation, or be used with list component to display all research - indent and trim liquid syntax wherever possible for easier reading and cleaner output - for footer, loop through site links rather than explicitly list - instead of specific `research-list`, `blog-list`, etc. components, make generic list component that can iterate through an arbitrary list of data, filter it, and display it with any component - add orcid to social link options - refactor portrait component and add option for title/position - loop through CSS and JS includes rather than listing individually. now you can just add a CSS or JS file to their respective folders and it will be included automatically - add clickable tags - refactor tooltip and add arrow - put member social links under link object for easier iteration - update naming in auto-citation script for clearer distinction of terms. "sources" now means the input, and "citations" now means the output. previously these were "papers" and "output papers", but a thing being cited isn't always going to be a paper, thus the more general naming - change contact page to nicer buttons - various css improvements - make section component instead of section breaks and properties being in HTML comments - fetch-tags script improvements. emit event when done - major enhancement to search plugin. allow tag searching, refactor to cleaner code, add clear button to search box, etc - remove dummy functions/classes for case where third party plugins can't load (eg no internet access), and put checks in plugins themselves - refactor/redesign post-info and role components - implement "true hide" script to help CSS behave properly and look nicer when certain elements are hidden * fix gemfile with jekyll plugins * remove eventmachine from gemfile * set theme to null * fix gh-pages build error * fixes after refactor (#63) - make list component display list in given order when not grouped by date - make card "small" style smaller - fix critical bug in citation component due to `github-pages` gem being installed - fix gallery component, add "square" style option - fix role component text variable scope issue * add analytics placeholder, polish list styles * tweak portrait and gallery design * tweak portrait styles * improve 404 page and small input/search tweaks * avoid jekyll's broken 'find' filter to fix citations * fix search box css * Update links.yaml to fix github tooltip (#64) * refactor auto-cite to plugin architecture, add orcid plugin (#70) - complete overhaul of auto-cite architecture - move auto-cite and related files to dedicated `scripts` folder - add `__pycache__` to gitignore - improve logging clarity - make plugin architecture. plugins take list data from one yaml file at a time, and return a list of sources. - make config.yaml for plugin order and input files. you can now split up input sources into separate files. example: you have `2019-papers.yaml` `2020-papers.yaml` `2021-papers.yaml` that get processed by the normal `sources` plugin, and `current-orcid.yaml` `alumni-orcid.yaml` that get processed by the `orcid` plugin - orcid plugin copies over any metadata to each source it returns, which can be used for filtering. example: `- orcid: 09182-12398-912837-129387 page: alex-lee` will return a bunch of papers for that orcid, and each paper will have the field `page` set to `alex-lee`. then that field can be used as a filter in the list component * close a few small issues (#74) - fix tooltip bug on safari? - make the components that look up their info by id more robust by moving variable assignments closer to their use location to avoid variable scoping issues - filter blank sections and remove unnecessary `break` option in section component - add ability for list component to read numerical filter values in addition to just strings - add ability for portrait and post excerpts to look up team member and blog post by id instead of filling out params manually - add generic two column component - update documentation for the above * rename scripts folder to auto-cite, update readme auto-cite docs link * revert autocite plugin order * remove orcid input and plugin run * move auto-cite config to main config, fix tooltip (#79) - set tooltip display to none after it fades out to avoid potential layout issues - move auto-cite configuration from its own separate config file to the main site config, to be less confusing - make citations component get the location of the auto-cite output citations from the config file, rather than being hard-coded to "citations.yaml" * Create CITATION.cff (#91) * update pull request template to include warning about forks and gh-actions * Remove specified body font size for accessibility * Accessibility, bug, performance, and misc fixes (#103) - take site-wide google search on 404 page and make it into reusable component (see #2) - remove gallery from readme (since we'll be want to update it somewhat regularly) and move to wiki - set `img` alt attributes as appropriate - refactor sections to be only one html element - load font awesome async for performance - add spots for extra details in footer, and add ad for template - move some basic items in head to meta - turn logo-text config option into simple boolean - fix small blog post excerpt bug - defer load all scripts - move from popper.js to tippy.js for tooltips - add accessible label to search box - make tags component accept list or comma-separated values more robustly - fix two col component bug where it can't accept markdown - add html doctype and lang to prevent warnings and various issues - remove bash scripts that no-one should probably be using, and are documented in the wiki anyway - various css tweaks - add aria labels to anchors - fix anchor move-to-parent bug - on team page, replace dead link to non-existent join page with just some job positing filler details (see #86 for discussion) - test each page with lighthouse (in chrome dev tools), mobile and desktop * Tag fixes (#106) - add webrick for ruby 3.0.0+ support - add example tags to tools - remove flex sass mixin - misc css fixes - make use of flex gap where appropriate - 0.9rem for certain sans texts - fix search box button color to make visible - add active color to tags - dedup and add tooltip to tags when fetched from github - refactor search script, rename "query" to (CSS) "selector" for less confusion, update url from search box and clear buttons - add clear search link to search info component - add util script file, including func to normalize strings for comparisons, and debounce func * add subtitle option, tooltip tweaks * Update .gitignore * add flip behavior to button and feature * rename name/headline to title, add subtitle to card, misc fixes * fix card tags logic * add boolean support to list filters * fix blank tooltips * minor tweaks * misc css and js fixes (#109) - simplify css to replace margin with flex gap where possible/appropriate. more simple and robust against direction changes, wrapping, new elements/rows/cols. - fix regression with feature component when flipped and on small screen - change "smart" behavior of `search-info`. show/hide based on whether anything searched, not whether anything filtered. more intuitive/expected and simpler. (there can be searches that don't filter anything because every item matches). * make portrait name text smaller * update font awesome version to 6 * update font awesome to v6 * add clearer note to auto-generated citations file * fix generated warning note in citations file * Update pull_request_template.md * tweak manubot log level (#113) - increase manubot log level to "warning" to show message when an invalid identifier type is used - force manubot logging to gray color - rearrange `try` blocks around manubot call for a bit better distinction between errors - make trueHide/trueShow util funcs just be locally `<script>` scoped (like the other util functions) rather than attached to `window` * Improve auto-cite process (#120) - change auto-cite github actions workflow to install via requirements.txt (allows us to add more packages later if we need) - update CFF file - rebuild demo citations with new cache key - add explicit cache matching key to sources. do this as a hash of the input source object. so, when any field in the source changes, invalidate the cache. just to be safe and for simpler/less error-prone behavior. - add special case for when `id` is not defined. in this case, do not pass to manubot (because it will throw error), and instead pass source through untouched. - move the code that merges in extra/overridden input props into the sources loop to avoid another "match by id" situation" (error prone) - force pyyaml to not use references (shows up when there are duplicate data structures) - rename "find_match" to "get_cached". match by explicit cache key instead of id. if key absent, do not count as match. if more than one match, do not count as match (needed because if there are multiple sources with the same id in the same file, but with different other props, the template could choose the wrong one and screw up the output). - add requirements.txt - reformat all python with black formatter - updated docs to reflect the above. * update citation component to support id-less (#122) * add shield to readme * use page.name instead of .title for members * fix bug from previous page.name hot fix * in doc title, move page title in front of site title * Don't error exit code on metasource failure, and misc error handling improvements (#127) - temporarily track which plugin source came from with `_plugin` and `_input`, then ignore `exit()` when it is a metasource to address #121. delete these keys before exporting. - better error catching for various error-prone points - make logging and `.get()` fallbacks better - make `exit()`s happen at end of loop with `will_exit` flags, instead of stopping in the middle so users can see all entries that cause problems at once - rerun auto-cite and regenerate cache keys due to renaming of internal `_plugin` and `_input` keys - change "message" in exception catching to "e" to match convention - update docs to reflect above * update auto-cite workflow (#128) - add the ability to run auto-cite workflow periodically, or on demand (through the github website interface), but comment out - increase timeout for auto-cite workflow - better citation date handling and fallbacks - truncate non-rich citation authors * Update link.scss * Update theme.scss * Update palettes.scss * Update palettes.scss * fix citation component lookup bug * fix code css, add rounded var to theme * add new font awesome class names, tweak rule css * citation and portrait css tweaks * change google scholar to user id * update google scholar link pattern * update member paper button to be clearer * fix code block and two-col css * First official version (#159) greenelab/lab-website-template#159 * v1.1.0 (#166) * v1.1.1 (#174) 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 * v1.1.2 (#178) 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. * v1.1.3 (#185) 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 <[email protected]> * v1.1.4 (#192) - 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 * v1.1.5 Fix orcid plugin attributeerror bug (#198) - 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. * v1.1.6 unpin python packages (#212) 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 <[email protected]> * V1.2.0 (#244) - 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. * V1.2.1 (#247) - 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. * v1.2.2 (#257) 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 <[email protected]> Co-authored-by: vincerubinetti <[email protected]> * Update citations --------- Co-authored-by: Vincent Rubinetti <[email protected]> Co-authored-by: HM Rando <[email protected]> Co-authored-by: Casey Greene <[email protected]> Co-authored-by: vincerubinetti <[email protected]> Co-authored-by: Faisal Alquaddoomi <[email protected]> Co-authored-by: matthuska <[email protected]>
* Initial commit * update readme * Add files via upload * Update README.md * Update README.md * update readme * update readme and init jekyll * add header, footer, plugins, and more * convert absolute_url to relative_url * add section background, refactor repo organization * convert css to sass, add more components * add code, table, and other components * fix anchors, other tweaks * update readme * update readme * update readme * update readme * update readme * add cards, container, rearrange index, and more * add tags, add mobile styles to small card * add contact page, tweak css * add social link, role, and portrait components * add blog and more * add readme contents section, add icons, add 404 * update readme, add tags to blog posts * update readme * update readme * update readme * update readme * update readme * update readme * update readme * update readme * add embeds and update readme * update readme * update readme * add member pages, tweak css, more * add rss, basic team, and more * member list and more * add resources list * add basic research page * add search, update readme, and more * update readme * update readme * update readme * update readme * update readme and more * update readme * update EndBug/add-and-commit to version 5 * update research gh-actions * update readme * Update build-research.py * change actions commit step and update readme * update readme * update readme * update readme * Update README.md * various fixes (#14) - fixes bug in paper date sorting by modifying python build script to pad month and day with leading `0`'s if they don't exist - add new paper to research-input to test date sorting - simplified blog-list component and added section breaks - simplified css for card search component - get rid of "smart" section breaking and instead make it explicit. user must specify where section breaks go - add flat option for figure component - simplify research-list component a bit - change tag component to accept comma separated string, to allow for spaces in tags - add section breaks and empty row checks to blog post layout - various css tweaks - fix css bug where `hide` style was not being respected and thus card search filtering was not working - update index.md to reflect new behavior - fix anchors plugin to only get headings with ids - fix anchors plugin to only move id to parent section if the heading is the first child of the section (this is due to the simplification of the section breaks) - update card search plugin to reflect new class names of component * minor CSS tweaks and anchors plugin fix * remove end section break from blog list component * css tweaks and add mini option to team list component * Update README.md * Update index.md * update readme and index docs * tweak heading css * Update research-input.yml * Update research-input.yml * Update research-input.yml * Update blog-list.html * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update content.html * Update post-nav.html * Update logo.svg * Update header.scss * Update template based on new wiki documentation (#21) - `/icons` -> `/favicons` - `heading` -> `title` in `feature` component - `type` -> `group` in `resource-list` component and `resources.yml` - remove `order` in `team-list` component (until someone requests this) - remove `placeholder` parameter from includes - delete `/_data/team-order.yml` - add quote block styles - delete comments in `/_data/research-input.yml`, `/_data/resources.yml`, `/_includes/header.html` - delete/reduce images - reduce readme to barebones, and refer to wiki for documentation - add license file * Update README.md * rewrite build script (#23) - add more comments (but remove comments at top of file that are already covered in the wiki documentation) - refactor code to < 80 char wide - load yaml with line numbers - add log and exit funcs with color for easier visual identification - add check for input file - add specific catch/errors for opening and parsing input yaml - add check that top level of input yaml is array - add error flag - add single default date - log input yaml line number along with "paper X of N" for much easier troubleshooting - log doi/id - add check that paper is object - add check that paper has id field - add check that paper is not a duplicate - add check that existing output papers are lists of dicts - add catch/error to manubot command - make field extraction from manubot citation more robust - add catch/error for formatting dates - add check for writing output file - add "done" or "done with errors" - removes markdown support in card components (and resource list component) to fix #24 - add lazy-loading to images so research page with 100s of papers doesn't take forever to load - disables card search box until associated javascript has finished loading * update gh-actions workflow * componentize nav links * refresh logo * Minor grammar suggestions (#38) Two incredibly minor suggestions to fix: 1. dangling modifier 2. extraneous comma * make simplifications and additions inspired by tislab website (#35) - add pull request template - (hopefully) fix prevent automatic citations when research output has been touched (already built or edited by the user) - rename automatic citations script, and in general, make the terminology surrounding "research" and "automatic citations" more clear and consistent - add screenshot of template to readme - move front matter defaults for description and background to top of config file as setting - add logo, header, and footer image as config file setting - add nav bar links as config file setting (removes the need to edit the header component directly) - rename google to google-scholar for clarity - add warning to top of research output not to edit - rename `.yml` to `.yaml` in accordance with YAML recommendation and best practice - add banner component which simply shows an image at full page width, for use with full sections - add option to big-link component to look like a big button - remove line-wrapping from (make a single line) the root html element of every component to avoid markdown parsing issues - rename centerer component "html" parameter to "contents" for clarity - add ability to make full width sections, dark sections, and sections with backgrounds with special `<!-- section ___ -->`-like keywords - add LinkedIn - remove need to edit footer manually to add desired social media icons. instead, footer can show all platforms, but only shows ones that are specified in the config settings for the site-wide social media accounts - change logo to config setting and simple `<img>` tag (removes need to edit header file manually to add logo) - refactor social-link component a bit. don't show if link not provided. this way, layouts and components in the template can simply list all social types, and the ones that aren't provided on that page won't display, no need to "if statement" them all - remove build and start scripts, as i'm the only one who will likely use them - many CSS changes and tweaks. namely, import all material design colors for users to use - add full section and banner component to home page as example - add dark and bg section to team page as example * add data and collection fallbacks, rename variations to aliases * fix post info regression * fix file names, remove workflow filter that doesn't work * Rewrite automatic citations script (#39) - rewrite automatic citations script in response to greenelab/greenelab.com#35 - rename variables for clarity - in general, simplify and refactor - remove some util functions - make yaml structure and missing id fields critical errors - make manubot fail as critical error - match output to input by id rather than index - write warning to top of output file - add force push option to hopefully fix and close #30 - remove RSS as social media icon. leave just the meta tag tag can be detected by browser extensions. if some RSS users complain that they need a clickable link to the RSS feed file to subscribe (maybe their RSS client/extension can't detect the meta tag?), we can always add it in again easily * Header/footer, feature, and figure fixes (#47) - fix feature title/heading parameter bug - rework figure sizing parameters to hopefully be more robust and cleaner - allow "none" for site-wide config header/footer settings - add `header/footer-dark: false` option for page and site settings to control header footer background solid color in addition to image - move background styles from section to background sass file - make card medium size same image aspect ratio as large size - style feature image in terms of page width - make feature image natural height and fixed width - other small changes * minor changes * update google fonts, make font weight palette, make new palettes style file * remove flat options * add facebook social link * remove large option from social link component * remove spaced option from centerer component * css tweaks * remove vestigial role component large option * improve figure sizing logic * figure svg sizing fix * fix background dark only bug * make header icons darker, refactor icon styles * Refactor (#60) - make language in gh-actions workflow more declarative and simple - install usefull jekyll plugins and go through entire list of gh-pages supported plugins to determine usefullness - install eventmachine to (hopefully) permanently fix livereload on windows - reorganize `config.yaml`. move nav options to `.md` files themselves. put social links under object for easy/clear iteration - rename `title` params to `name` wherever possible to reduce confusion/collision with `page.title` - combine several separate components into single link component with text and/or icon - abstract link and role types into separate yaml files for easier user-editing - split card component into card component and separate citation component - get rid of centerer component and opt for simpler CSS - make citation component that can read from `citations.yaml` to display a single citation, or be used with list component to display all research - indent and trim liquid syntax wherever possible for easier reading and cleaner output - for footer, loop through site links rather than explicitly list - instead of specific `research-list`, `blog-list`, etc. components, make generic list component that can iterate through an arbitrary list of data, filter it, and display it with any component - add orcid to social link options - refactor portrait component and add option for title/position - loop through CSS and JS includes rather than listing individually. now you can just add a CSS or JS file to their respective folders and it will be included automatically - add clickable tags - refactor tooltip and add arrow - put member social links under link object for easier iteration - update naming in auto-citation script for clearer distinction of terms. "sources" now means the input, and "citations" now means the output. previously these were "papers" and "output papers", but a thing being cited isn't always going to be a paper, thus the more general naming - change contact page to nicer buttons - various css improvements - make section component instead of section breaks and properties being in HTML comments - fetch-tags script improvements. emit event when done - major enhancement to search plugin. allow tag searching, refactor to cleaner code, add clear button to search box, etc - remove dummy functions/classes for case where third party plugins can't load (eg no internet access), and put checks in plugins themselves - refactor/redesign post-info and role components - implement "true hide" script to help CSS behave properly and look nicer when certain elements are hidden * fix gemfile with jekyll plugins * remove eventmachine from gemfile * set theme to null * fix gh-pages build error * fixes after refactor (#63) - make list component display list in given order when not grouped by date - make card "small" style smaller - fix critical bug in citation component due to `github-pages` gem being installed - fix gallery component, add "square" style option - fix role component text variable scope issue * add analytics placeholder, polish list styles * tweak portrait and gallery design * tweak portrait styles * improve 404 page and small input/search tweaks * avoid jekyll's broken 'find' filter to fix citations * fix search box css * Update links.yaml to fix github tooltip (#64) * refactor auto-cite to plugin architecture, add orcid plugin (#70) - complete overhaul of auto-cite architecture - move auto-cite and related files to dedicated `scripts` folder - add `__pycache__` to gitignore - improve logging clarity - make plugin architecture. plugins take list data from one yaml file at a time, and return a list of sources. - make config.yaml for plugin order and input files. you can now split up input sources into separate files. example: you have `2019-papers.yaml` `2020-papers.yaml` `2021-papers.yaml` that get processed by the normal `sources` plugin, and `current-orcid.yaml` `alumni-orcid.yaml` that get processed by the `orcid` plugin - orcid plugin copies over any metadata to each source it returns, which can be used for filtering. example: `- orcid: 09182-12398-912837-129387 page: alex-lee` will return a bunch of papers for that orcid, and each paper will have the field `page` set to `alex-lee`. then that field can be used as a filter in the list component * close a few small issues (#74) - fix tooltip bug on safari? - make the components that look up their info by id more robust by moving variable assignments closer to their use location to avoid variable scoping issues - filter blank sections and remove unnecessary `break` option in section component - add ability for list component to read numerical filter values in addition to just strings - add ability for portrait and post excerpts to look up team member and blog post by id instead of filling out params manually - add generic two column component - update documentation for the above * rename scripts folder to auto-cite, update readme auto-cite docs link * revert autocite plugin order * remove orcid input and plugin run * move auto-cite config to main config, fix tooltip (#79) - set tooltip display to none after it fades out to avoid potential layout issues - move auto-cite configuration from its own separate config file to the main site config, to be less confusing - make citations component get the location of the auto-cite output citations from the config file, rather than being hard-coded to "citations.yaml" * Create CITATION.cff (#91) * update pull request template to include warning about forks and gh-actions * Remove specified body font size for accessibility * Accessibility, bug, performance, and misc fixes (#103) - take site-wide google search on 404 page and make it into reusable component (see #2) - remove gallery from readme (since we'll be want to update it somewhat regularly) and move to wiki - set `img` alt attributes as appropriate - refactor sections to be only one html element - load font awesome async for performance - add spots for extra details in footer, and add ad for template - move some basic items in head to meta - turn logo-text config option into simple boolean - fix small blog post excerpt bug - defer load all scripts - move from popper.js to tippy.js for tooltips - add accessible label to search box - make tags component accept list or comma-separated values more robustly - fix two col component bug where it can't accept markdown - add html doctype and lang to prevent warnings and various issues - remove bash scripts that no-one should probably be using, and are documented in the wiki anyway - various css tweaks - add aria labels to anchors - fix anchor move-to-parent bug - on team page, replace dead link to non-existent join page with just some job positing filler details (see #86 for discussion) - test each page with lighthouse (in chrome dev tools), mobile and desktop * Tag fixes (#106) - add webrick for ruby 3.0.0+ support - add example tags to tools - remove flex sass mixin - misc css fixes - make use of flex gap where appropriate - 0.9rem for certain sans texts - fix search box button color to make visible - add active color to tags - dedup and add tooltip to tags when fetched from github - refactor search script, rename "query" to (CSS) "selector" for less confusion, update url from search box and clear buttons - add clear search link to search info component - add util script file, including func to normalize strings for comparisons, and debounce func * add subtitle option, tooltip tweaks * Update .gitignore * add flip behavior to button and feature * rename name/headline to title, add subtitle to card, misc fixes * fix card tags logic * add boolean support to list filters * fix blank tooltips * minor tweaks * misc css and js fixes (#109) - simplify css to replace margin with flex gap where possible/appropriate. more simple and robust against direction changes, wrapping, new elements/rows/cols. - fix regression with feature component when flipped and on small screen - change "smart" behavior of `search-info`. show/hide based on whether anything searched, not whether anything filtered. more intuitive/expected and simpler. (there can be searches that don't filter anything because every item matches). * make portrait name text smaller * update font awesome version to 6 * update font awesome to v6 * add clearer note to auto-generated citations file * fix generated warning note in citations file * Update pull_request_template.md * tweak manubot log level (#113) - increase manubot log level to "warning" to show message when an invalid identifier type is used - force manubot logging to gray color - rearrange `try` blocks around manubot call for a bit better distinction between errors - make trueHide/trueShow util funcs just be locally `<script>` scoped (like the other util functions) rather than attached to `window` * Improve auto-cite process (#120) - change auto-cite github actions workflow to install via requirements.txt (allows us to add more packages later if we need) - update CFF file - rebuild demo citations with new cache key - add explicit cache matching key to sources. do this as a hash of the input source object. so, when any field in the source changes, invalidate the cache. just to be safe and for simpler/less error-prone behavior. - add special case for when `id` is not defined. in this case, do not pass to manubot (because it will throw error), and instead pass source through untouched. - move the code that merges in extra/overridden input props into the sources loop to avoid another "match by id" situation" (error prone) - force pyyaml to not use references (shows up when there are duplicate data structures) - rename "find_match" to "get_cached". match by explicit cache key instead of id. if key absent, do not count as match. if more than one match, do not count as match (needed because if there are multiple sources with the same id in the same file, but with different other props, the template could choose the wrong one and screw up the output). - add requirements.txt - reformat all python with black formatter - updated docs to reflect the above. * update citation component to support id-less (#122) * add shield to readme * use page.name instead of .title for members * fix bug from previous page.name hot fix * in doc title, move page title in front of site title * Don't error exit code on metasource failure, and misc error handling improvements (#127) - temporarily track which plugin source came from with `_plugin` and `_input`, then ignore `exit()` when it is a metasource to address #121. delete these keys before exporting. - better error catching for various error-prone points - make logging and `.get()` fallbacks better - make `exit()`s happen at end of loop with `will_exit` flags, instead of stopping in the middle so users can see all entries that cause problems at once - rerun auto-cite and regenerate cache keys due to renaming of internal `_plugin` and `_input` keys - change "message" in exception catching to "e" to match convention - update docs to reflect above * update auto-cite workflow (#128) - add the ability to run auto-cite workflow periodically, or on demand (through the github website interface), but comment out - increase timeout for auto-cite workflow - better citation date handling and fallbacks - truncate non-rich citation authors * Update link.scss * Update theme.scss * Update palettes.scss * Update palettes.scss * fix citation component lookup bug * fix code css, add rounded var to theme * add new font awesome class names, tweak rule css * citation and portrait css tweaks * change google scholar to user id * update google scholar link pattern * update member paper button to be clearer * fix code block and two-col css * First official version (#159) greenelab/lab-website-template#159 * v1.1.0 (#166) * v1.1.1 (#174) 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 * v1.1.2 (#178) 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. * v1.1.3 (#185) 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 <[email protected]> * v1.1.4 (#192) - 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 * v1.1.5 Fix orcid plugin attributeerror bug (#198) - 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. * v1.1.6 unpin python packages (#212) 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 <[email protected]> * V1.2.0 (#244) - 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. * V1.2.1 (#247) - 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. * v1.2.2 (#257) 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 <[email protected]> Co-authored-by: vincerubinetti <[email protected]> * v1.3.0 (#274) 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 <[email protected]> * v1.3.1 (#289) 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 * Resolve a few broken binary files because of meld * Update citations --------- Co-authored-by: Vincent Rubinetti <[email protected]> Co-authored-by: HM Rando <[email protected]> Co-authored-by: Casey Greene <[email protected]> Co-authored-by: vincerubinetti <[email protected]> Co-authored-by: Faisal Alquaddoomi <[email protected]> Co-authored-by: matthuska <[email protected]>
This PR represents the first official version of the template, finally coming out of "pre-release"! It is the culmination of years of feedback and months of work. Every file and line of code has been reevaluated, and most have been rewritten and significantly changed. It is essentially a complete redesign.
The new changelog file summarizes key changes/additions/removals, from a high-level, user-focused perspective.
The new documentation describes the new operation and functionality of the template, also from a high-level, user-focused perspective.
The diff is the only complete source of everything that has changed. There are so many changes that it is impractical to list them all in bullet points.
#142 Contains a more detailed break down of everything I had hoped to accomplish with this redesign, but it is also missing a lot of extra things I ended up adding. It also contains some more details about the "why" behind design decisions.