distilltools
is collection of tools to support the creation and
styling of content on websites created using the
distill package in R.
It is in the very early stages of development. I am actively seeking
contributions - both ideas and code - to help build the package to be
broadly useful to a wide variety of distill
users. The idea is for the
package to become a curated, collaborative, community-driven project. In
terms of relationship between packages, I hope in time that
distilltools
can be for distill something like what
xaringanExtra and
xaringanthemer are
for xaringan. Some of what I have
in mind may sit better within the distill package itself, and I will be
reaching out to the distill team about that.
Development on distilltools
has been on a bit of a hiatus recently,
but I will resume work on it. When I do, I want to ensure the package
also has the functionality to support websites created in R with
Quarto, and so I may also rename the package.
An article on distilltools
, and my intentions for it, is featured in
The Future of Sata Science
anthology (written October 2021, published June 2022).
# install.packages("remotes")
# requires remotes >= 2.2
remotes::install_github("EllaKaye/distilltools")
# for remotes < 2.2
remotes::install_github("EllaKaye/distilltools", ref = "main")
There are currently five exported functions in distilltools
.
create_post_from_template()
: this function works almost identically todistill::create_post()
, but extends it with an addedpath
argument that specifies an.Rmd
file to use as a template for the post. This function can also be run interactively using theCreate post (from template)
RStudio addin. See?create_post_from_template
and?available_templates
for details on using your R Markdown templates with the addin.available_templates()
: lists a named vector of available R Markdown templates for new posts, talks, etc.create_talk()
: a wrapper arounddistill::create_post()
that creates a post in the talk directory and includes buttons (made withicon-link()
) for slides (both web and pdf), material, video and project. These can easily be edited in the resulting .Rmd file. This function was inspired by Eric Ekholm’s blog post.
icon_link()
: creates the html for a link button with icon and text. Output oficon_link
will need styling via theicon-link
class to make it look like a button. For more details on this function, see this blog post from John Paul Helveston. For examples of styling theicon-link
class, see John Paul Helveston’s css and Ella Kaye’s css.modify_default_highlighting()
: allows the user to swap the five colours used in {distill}’s default syntax highlighting scheme with five colours of their choice, and saves the resulting.theme
file into the working directory.
Plans for future functionality include:
- incorporating more of John Paul Helveston’s functions
- allowing easy creation and styling of project cards, as on Ijeamaka Anyene’s site
We’re actively seeking contributions!
- Do you have a
distill
website? If so, what tools would you help you in the creation, upkeep and styling of your site? Let us know by with an issue. - Do you have functions that you’ve written for your
distill
workflow? If they help you, they’ll almost certainly be helpful to others to. Consider submitting (generalized) versions of them for inclusion indistilltools
!
There are lots of other ways to support and contribute to
distilltools
. Please see the contributing
guide for more details.
Please note that the distilltools
project is released with a
Contributor Code of Conduct. By
contributing to this project, you agree to abide by its terms.