[
  {
    "objectID": "index.html",
    "href": "index.html",
    "title": "Write Quarto books with Bioconductor",
    "section": "",
    "text": "What are BiocBooks?\nPackage: BiocBookDemoAuthors: Jacques Serizay [aut, cre]Compiled: 2025-11-03Package version: 1.8.0R version: R version 4.5.1 Patched (2025-08-23 r88802)BioC version: 3.22License: MIT + file LICENSE\nBiocBooks are package-based, versioned online books with a supporting Docker image for each book version.\nA BiocBook can be created by authors (e.g. R developers, but also scientists, teachers, communicators, …) who wish to:",
    "crumbs": [
      "What are `BiocBook`s?"
    ]
  },
  {
    "objectID": "index.html#fully-compatible-with-the-bioconductor-build-system",
    "href": "index.html#fully-compatible-with-the-bioconductor-build-system",
    "title": "Write Quarto books with Bioconductor",
    "section": "Fully compatible with the Bioconductor Build System\n",
    "text": "Fully compatible with the Bioconductor Build System\n\nWhen a {BiocBook}-based package is accepted into Bioconductor, it is automatically integrated into the Bionconductor Build System (BBS).\nThis means that it is getting built using R CMD build --keep-empty-dirs --no-resave-data .. This triggers the rendering of the book contained in /inst/. Book packages built by the BBS are then automatically deployed and are eventually available at https://bioconductor.org/books/&lt;bioc_version&gt;/&lt;pkg&gt;/.",
    "crumbs": [
      "What are `BiocBook`s?"
    ]
  },
  {
    "objectID": "index.html#automated-versioning-of-docker-images",
    "href": "index.html#automated-versioning-of-docker-images",
    "title": "Write Quarto books with Bioconductor",
    "section": "Automated versioning of Docker images",
    "text": "Automated versioning of Docker images\nA separate Docker image is built for each branch (named devel or RELEASE_X_Y) of a {BiocBook}-based Github repository.\nEach Docker image provides pre-installed R packages:\n\nBioconductor release X.Y;\nSpecific book dependencies from Bioconductor release X.Y (listed in DESCRIPTION);\nThe book package itself\n\nThe Docker images also include a micromamba-based environment, named BiocBook, in which all the softwares listed in requirements.yml are installed.\nFor example, Docker images built from the {BiocBookDemo} package repository are available here:\n👉 ghcr.io/js2264/biocbookdemo 🐳\n\n\n\n\n\n\nGet started now 🎉\n\n\n\nYou can get access to all the packages used in this book in &lt; 1 minute, using this command in a terminal:\n\n\n\nbash\n\ndocker run -it ghcr.io/js2264/biocbookdemo:devel R",
    "crumbs": [
      "What are `BiocBook`s?"
    ]
  },
  {
    "objectID": "index.html#automated-versioning-of-the-online-book",
    "href": "index.html#automated-versioning-of-the-online-book",
    "title": "Write Quarto books with Bioconductor",
    "section": "Automated versioning of the online book",
    "text": "Automated versioning of the online book\nRegardless of whether the book package is submitted to Bioconductor, a Github Actions workflow publishes individual online books for each branch (named devel or RELEASE_X_Y) of a BiocBook-based Github repository.\nFor example, the online book version matching the devel version of the {BiocBook} package is available from:\n👉 http://js2264.github.io/BiocBookDemo/devel/ 📘",
    "crumbs": [
      "What are `BiocBook`s?"
    ]
  },
  {
    "objectID": "index.html#rstudio-server",
    "href": "index.html#rstudio-server",
    "title": "Write Quarto books with Bioconductor",
    "section": "RStudio Server",
    "text": "RStudio Server\nAn RStudio Server instance based on a specific Bioconductor &lt;version&gt; (devel or RELEASE_X_Y) can be initiated from the corresponding Docker image as follows:\n\n\n\nbash\n\ndocker run \\\n    --volume &lt;local_folder&gt;:&lt;destination_folder&gt; \\\n    -e PASSWORD=OHCA \\\n    -p 8787:8787 \\\n    ghcr.io/&lt;github_user&gt;/&lt;biocbook_repo&gt;:&lt;version&gt;\n\n\nThe initiated RStudio Server instance will be available at https://localhost:8787.\nFurther instructions regarding Bioconductor-based Docker images are available here.",
    "crumbs": [
      "What are `BiocBook`s?"
    ]
  },
  {
    "objectID": "pages/preamble.html",
    "href": "pages/preamble.html",
    "title": "Preamble",
    "section": "",
    "text": "This page is kept empty on purpose.\n\n\n\n Back to top",
    "crumbs": [
      "Preamble"
    ]
  },
  {
    "objectID": "pages/Chapter-1.html",
    "href": "pages/Chapter-1.html",
    "title": "\n1  BiocBook versioning system\n",
    "section": "",
    "text": "1.1 Continuous Integration and Continuous Delivery",
    "crumbs": [
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>`BiocBook` versioning system</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-1.html#continuous-integration-and-continuous-delivery",
    "href": "pages/Chapter-1.html#continuous-integration-and-continuous-delivery",
    "title": "\n1  BiocBook versioning system\n",
    "section": "",
    "text": "1.1.1 From local to Github\nWhen pushing a {BiocBook}-based package from a local devel branch to Github, (e.g. when writing new articles), two jobs are automatically triggered from a single Github Actions workflow:\n\nFirst, a Docker image will be created to build the {BiocBook} package against the Bioconductor devel branch and push the resulting image to ghcr.io/&lt;github_user&gt;/&lt;package_name&gt;:devel;\nThen, this image will be used to render the BiocBook website and deploy it to https://&lt;github_user&gt;.github.io/&lt;package_name&gt;/devel/\n\n\n\nAdditional commits on the devel branch will trigger regeneration of the devel Docker image and the online book devel version.\n\n\n1.1.2 Package submission to Bioconductor\nSubmission to Biconductor can follow the same reviewing process as other standard packages.\n\nThe author submits a book package to Bioconductor/Contributions;\nOnce review starts, the package gets tested by Bioconductor’s Single Package Builder (SPB);\nThe author pushes changes to its Github repository; this will update the devel Docker image and the online book devel version;\nRegularly, the author bumps versions and push to Bioconductor’s upstream branch to trigger a new SPB test run;\nOnce the SPB returns no error/warnings, the package may be accepted;\nWhen a book package is accepted, it starts being regularly built by the Bioconductor Build System (BBS).\nThe BBS build automatically renders the book and deploys it online.\n\n\nAt all time, the author’s local devel branch should be synchronized with its Github remote origin as well as the Bioconductor upstream remote.\n\nAny commit pushed to the remote Github origin remote will trigger a new Github Actions workflow and regenerate the devel Docker image and the online book served by Github.\nAny commit pushed to the remote Bioconductor upstream remote will result in a new build by the BBS and an update of the Bioconductor’s hosted book.\n\n\n\n1.1.3 New Bioconductor releases\nWhen Bioconductor releases a version X.Y, the core team will automatically create a new upstream:&lt;package_name&gt;@RELEASE_X_Y. This will automatically trigger new builds of the Bioconductor’s hosted book against the new release.\nWhen this occurs, the upstream branch can also be pulled to origin:&lt;package_name&gt;@RELEASE_X_Y to:\n\nCreate a Docker image @ ghcr.io/&lt;github_user&gt;/&lt;package_name&gt;:RELEASE_X_Y, with the book package installed using Bioconductor X.Y;\nPublish the book website to https://&lt;github_user&gt;.github.io/&lt;package_name&gt;/X.Y/, using packages from Bioconductor X.Y.\n\n\n\n\n\n\n\n\nNote\n\n\n\nA {BiocBook}-based package can follow its own release life cycle if the autor does not intend to submit it to Bioconductor.\nIf the author of a {BiocBook}-based package intends to submit this package/book/website to Bioconductor, the Bioconductor submission and release life cycle:\n\nWhen developing a {BiocBook}-based package (at the submission and during review), the package version should be between 0.99.0 and 1.0.0.\nOnce the submission is accepted and Bioconductor releases a new version X.Y, the {BiocBook}-based package version will automatically be bumped to 1.0.0 in Bioconductor release X.Y and to 1.1.0 in the continuing Bioconductor devel.\n\n\n\n\n1.1.4 Updates\nAfter new releases, updates and/or hot fixes can still made, both on the latest Bioconductor release and on the devel branch. New commits will automatically trigger the regeneration of the Docker image and the online book for the modified branch(es).\n\nAdditional Bioconductor releases will generate new versions of the Docker image and of the online book.",
    "crumbs": [
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>`BiocBook` versioning system</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-1.html#access-to-versioned-docker-and-online-book",
    "href": "pages/Chapter-1.html#access-to-versioned-docker-and-online-book",
    "title": "\n1  BiocBook versioning system\n",
    "section": "\n1.2 Access to versioned Docker and online book",
    "text": "1.2 Access to versioned Docker and online book\n\n1.2.1 Docker images versioning\nThe different versions of a BiocBook Docker image are availabed at the following URL:\nghcr.io/&lt;github_user&gt;/&lt;package_name&gt;\nFor example, for this package ({BiocBookDemo}), the following Docker image versions are available:\n\nghcr.io/js2264/biocbookdemo:devel\nghcr.io/js2264/biocbookdemo:3.17\nghcr.io/js2264/biocbookdemo:3.16\nghcr.io/js2264/biocbookdemo:3.15\n\n1.2.2 Website versioning\nThe different versions of a BiocBook website are hosted at the following URL:\nhttps://&lt;github_user&gt;.github.io/&lt;package_name&gt;/&lt;version&gt;\nFor example, for this package ({BiocBookDemo}), the following website versions are available:\n\nhttps://js2264.github.io/BiocBookDemo/devel/\nhttps://js2264.github.io/BiocBookDemo/3.17/\nhttps://js2264.github.io/BiocBookDemo/3.16/\nhttps://js2264.github.io/BiocBookDemo/3.15/",
    "crumbs": [
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>`BiocBook` versioning system</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-1.html#does-this-really-work",
    "href": "pages/Chapter-1.html#does-this-really-work",
    "title": "\n1  BiocBook versioning system\n",
    "section": "\n1.3 Does this really work?",
    "text": "1.3 Does this really work?\nThe BIOCONDUCTOR_DOCKER_VERSION variable is set in all Bioconductor Docker images. For instance, this version of the BiocBookDemo package online book relies on:\n\nSys.getenv(\"BIOCONDUCTOR_DOCKER_VERSION\")\n##  [1] \"\"\n\n\n\n\n\n\n\nTip\n\n\n\nNote that this variable will always match the X.Y version returned by BiocVersion used to render the online book.\n\npackageVersion(\"BiocVersion\")\n##  [1] '3.22.0'",
    "crumbs": [
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>`BiocBook` versioning system</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-1.html#so-what-packages-can-i-use",
    "href": "pages/Chapter-1.html#so-what-packages-can-i-use",
    "title": "\n1  BiocBook versioning system\n",
    "section": "\n1.4 So what packages can I use?",
    "text": "1.4 So what packages can I use?\nAny package that has been released in the Bioconductor version you are using (in this book version, this is 3.22.0).\nThe BiocBaseUtils package is available in Bioconductor since 3.16, while the BiocHail package was only made available in 3.17. CuratedAtlasQueryR has recently been accepted in 3.18 (current devel, on Mon Nov 3 06:47:53 2025). Let’s check this!\n\npackageVersion(\"BiocVersion\")\n##  [1] '3.22.0'\nBiocManager::available(\"BiocBaseUtils\")\n##  [1] \"BiocBaseUtils\"\nBiocManager::available(\"BiocHail\")\n##  [1] \"BiocHail\"\nBiocManager::available(\"CuratedAtlasQueryR\")\n##  [1] \"CuratedAtlasQueryR\"",
    "crumbs": [
      "<span class='chapter-number'>1</span>  <span class='chapter-title'>`BiocBook` versioning system</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-2.html",
    "href": "pages/Chapter-2.html",
    "title": "\n2  Writing a {BiocBook} package\n",
    "section": "",
    "text": "2.1 Register a Github account in R",
    "crumbs": [
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>Writing a {`BiocBook`} package</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-2.html#register-a-github-account-in-r",
    "href": "pages/Chapter-2.html#register-a-github-account-in-r",
    "title": "\n2  Writing a {BiocBook} package\n",
    "section": "",
    "text": "Tip\n\n\n\nSkip this section if your Github account is already registered. You can check this by typing:\n\ngh::gh_whoami()\n\n\n\n\n2.1.1 Creating a new Github token\n\nusethis::create_github_token(\n    description = \"BiocBook\", \n    scopes = c(\"repo\", \"user:email\", \"workflow\")\n)\n\nThis command will open up a new web browser. On the displayed Github page:\n\nSelect an Expiration date;\nMake sure that at least repo, user &gt; user:email and workflow scopes are selected;\nClick on “Generate token” at the bottom of the page;\nCopy your Github token displayed in the Github web page\n\n2.1.2 Register your new token in R\n\ngitcreds::gitcreds_set()\n\nPaste your new Github token here and press “Enter”.\n\n\n\n\n\n\nSaving your Github token for later use\n\n\n\nOn Linux, gitcreds is generally not able to permanently store the provided Github token. For this reason, you may want to also add your Github token to ~/.Renviron to be able to reuse it. You can edit the ~/.Renviron by typing usethis::edit_r_environ(), and define the GITHUB_PAT environment variable:\n\n\n\n.Renviron\n\nGITHUB_PAT=\"&lt;YOUR-TOKEN&gt;\"\n\n\n\n\n\n2.1.3 Double check you are logged in\n\ngh::gh_whoami()",
    "crumbs": [
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>Writing a {`BiocBook`} package</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-2.html#biocbook-workflow",
    "href": "pages/Chapter-2.html#biocbook-workflow",
    "title": "\n2  Writing a {BiocBook} package\n",
    "section": "\n2.2 BiocBook workflow",
    "text": "2.2 BiocBook workflow\n\n2.2.1 Initiate a {BiocBook} package\n\n2.2.1.1 R\nCreating a BiocBook in R is straightforward with the {BiocBook} package.\n\nif (!require(\"BiocManager\", quietly = TRUE)) install.packages(\"BiocManager\")\nif (!require(\"BiocBook\", quietly = TRUE)) BiocManager::install(\"BiocBook\")\nlibrary(BiocBook)\nbiocbook &lt;- init(\"myBook\")\n\nThe steps performed under the hood by init() are detailed in the console. Briefly, the following steps are followed:\n\nCreating a local git repository using the BiocBook package template\nFillout placeholders from the template\nPush local commits to your Github account, creating a new GitHub repository\n\n2.2.1.2 VS Code\n\n\n\n\n\n\nThis approach is significantly more hazardous. It is highly recommended to stick to the init() helper function from the {BiocBook} package.\n\n\n\n\n\n\nUse the {BiocBook.template} package template\nThis template can be cloned from js2264/BiocBook.template\n\nCreate a new repo\n\n\n2.2.1.2.1 Enable Github Pages to be deployed\nYou will need to enable the Github Pages service for your newly created repository.\n\nGo to your new Github repository;\nOpen the “Settings” tab;\nOn the leftside bar, clik on the “Pages” tab;\nSelect the gh-pages branch and the /docs folder to deploy your Github Pages.\n\n\nEnter VS Code editor by pressing .\n\n\nFillout placeholders\n\n\n\n\n\n\nWarning\n\n\n\nThree types of placeholders need to be replaced:\n\n&lt;Package_name&gt;\n&lt;package_name&gt;\n&lt;github_user&gt;\n\nThree different files contain these placeholders:\n\n/inst/assets/_book.yml\n/DESCRIPTION\n/index.qmd\n\n\n\n\nCommit changes\n\nClone the package to a local computer\n\n2.2.2 Edit new BiocBook chapters\n\n\nadd_chapter(biocbook, title) is used to write new chapters;\n\nadd_preamble(biocbook) is used to add an unnumbered extra page after the Welcome page but before the chapters begin.\n\n\n\n\n\n\n\nDon’t forget to add any package used in the book pages to Imports: or Suggests: fields in DESCRIPTION.\n\n\n\nThis ensures that these packages are installed in the Docker image prior to rendering.\n\n\n\n2.2.3 Edit assets\nA BiocBook relies on several assets, located in /inst/assets.:\n\n\n_book.yml, _format.yml, _knitr.yml, _website.yml\n\nbibliography.bib\nbook.scss\n\nTo quickly edit these assets, use the corresponding edit_* functions:\n\nedit_yml(biocbook)\nedit_bib(biocbook)\nedit_css(biocbook)\n\n\n2.2.4 Previewing and publishing changes\n\n2.2.4.1 Previewing\nWhile writing, you can monitor the rendering of your book live as follows:\n\npreview(biocbook)\n\nThis will serve a local live rendering of your book.\n\n2.2.4.2 Publishing\nOnce you are done writing pages of your new book, you should always commit your changes and push them to Github. This can be done as follows:\n\npublish(biocbook, message = \"🚀 Publish\")\n\n\n2.2.4.3 Check your published book and Dockerfiles\nThis connects to the Github repository associated with a local book and checks the existing branches and Dockerfiles.\n\nstatus(biocbook)",
    "crumbs": [
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>Writing a {`BiocBook`} package</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-2.html#writing-features",
    "href": "pages/Chapter-2.html#writing-features",
    "title": "\n2  Writing a {BiocBook} package\n",
    "section": "\n2.3 Writing features",
    "text": "2.3 Writing features\n\n2.3.1 Executing code\nIt’s super easy to execute actual code from any BiocBook page when rendering the BiocBook website.\n\n2.3.1.1 R code\nR code can be executed and rendered:\n\n\n\nR\n\nutils::packageVersion(\"BiocVersion\")\n##  [1] '3.22.0'\n\n\n\n2.3.1.2 bash code\nbash code can also be executed and rendered:\n\n\n\nbash\n\nfind ../ -name \"*.qmd\"\n##  ../pages/Chapter-1.qmd\n##  ../pages/Chapter-2.qmd\n##  ../pages/Chapter-3.qmd\n##  ../pages/biocbook-vs-rebook.qmd\n##  ../pages/preamble.qmd\n##  ../index.qmd\n\n\n\n\n2.3.2 Creating data object\nWhile writing chapters, you can save objects as .rds files to reuse them in subsequent chapters (e.g. here).\n\nisthisworking &lt;- \"yes\"\nsaveRDS(isthisworking, 'isthisworking.rds')\n\n\n2.3.3 Adding references\nReferences can be listed as .bib entries in the bibliography file located in inst/assets/bibliography.bib. The references can be added in-line using the @ notation, e.g. by typing @serizay2023, this will insert the following reference: Serizay (2023).\nSerizay, Jacques. 2023. BiocBook: Write, Publish and Maintain Versioned Quarto Books with Bioconductor. https://github.com/js2264/BiocBook.",
    "crumbs": [
      "<span class='chapter-number'>2</span>  <span class='chapter-title'>Writing a {`BiocBook`} package</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-3.html",
    "href": "pages/Chapter-3.html",
    "title": "\n3  Containerizing and Publishing against specific Bioconductor release versions\n",
    "section": "",
    "text": "3.1 For a {BiocBook} package not currently in Bioconductor\nOne can build against older Bioconductor releases as follows:\ngert::git_commit_all(\"Commit current changes\")\ngert::git_branch_create(\"RELEASE_3_17\")\ngert::git_push()",
    "crumbs": [
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Containerizing and Publishing against specific Bioconductor release versions</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-3.html#for-a-biocbook-package-not-currently-in-bioconductor",
    "href": "pages/Chapter-3.html#for-a-biocbook-package-not-currently-in-bioconductor",
    "title": "\n3  Containerizing and Publishing against specific Bioconductor release versions\n",
    "section": "",
    "text": "Commit current changes before switching branches (should be in devel branch)\n\n\n\nCreate a new branch named RELEASE_X_Y and checkout\n\n\n\nPush local RELEASE_X_Y to Github",
    "crumbs": [
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Containerizing and Publishing against specific Bioconductor release versions</span>"
    ]
  },
  {
    "objectID": "pages/Chapter-3.html#for-a-biocbook-package-accepted-in-bioconductor-6-months-ago",
    "href": "pages/Chapter-3.html#for-a-biocbook-package-accepted-in-bioconductor-6-months-ago",
    "title": "\n3  Containerizing and Publishing against specific Bioconductor release versions\n",
    "section": "\n3.2 For a {BiocBook} package accepted in Bioconductor > 6 months ago",
    "text": "3.2 For a {BiocBook} package accepted in Bioconductor &gt; 6 months ago\nOnce your package is accepted in Bioconductor, your repository will have access to a new remote named upstream, pointing to git@git.bioconductor.org. When Bioconductor releases a new version, your package will change version on the upstream remote, in a dedicated release branch RELEASE_X_Y. All details are available here.\nTo generate a Docker image and a version of the BiocBook website built on new Bioconductor releases, you can:\n\nAdd the Bioconductor remote to your local repository (this might already be set up)\n\n\ngert::git_remote_add(name = 'upstream', url = 'git@git.bioconductor.org:packages/&lt;YOUR-REPOSITORY&gt;.git')\n\n\nCreate a new local RELEASE_X_Y branch\n\n\ngert::git_branch_create(\"RELEASE_3_15\")\n\n\nPull the upstream RELEASE_X_Y commits\n\n\ngert::git_pull(\"RELEASE_3_15\", remote = \"upstream\")\n\n\nPush the local RELEASE_X_Y branch to origin remote (your own Github repository)\n\n\ngert::git_push(\"RELEASE_3_15\", remote = \"origin\")",
    "crumbs": [
      "<span class='chapter-number'>3</span>  <span class='chapter-title'>Containerizing and Publishing against specific Bioconductor release versions</span>"
    ]
  },
  {
    "objectID": "pages/biocbook-vs-rebook.html",
    "href": "pages/biocbook-vs-rebook.html",
    "title": "\n4  {BiocBook}-based books vs. {rebook}-based books\n",
    "section": "",
    "text": "4.1 Differences with {rebook}-based books\n{rebook} is another book rendering package currently used by Bioconductor to build book packages such as OSCA.* and SingleRBook.\nOSCA books provided by Bioconductor are rendered upon building by the Bioconductor Build System (BBS). They rely on {rebook} to orchestrate the rendering. Briefly, OSCA books have their book pages in /inst/book/, while the vignettes/ folder contains (1) a Makefile and (2) a dummy stub.Rmd vignette (required to trigger vignette rendering and thus make).\nWhen the BBS triggers OSCA.intro package building, upon vignette rendering, the Makefile triggers the following commands:\nR\n\nwork.dir &lt;- rebook::bookCache('OSCA.intro')\nhandle &lt;- rebook::preCompileBook('../inst/book', work.dir=work.dir, desc='../DESCRIPTION')\nold.dir &lt;- setwd(work.dir)\nbookdown::render_book('index.Rmd')\nsetwd(old.dir)\nrebook::postCompileBook(work.dir=work.dir, final.dir='../inst/doc/book', handle=handle)\nThe resulting book, pre-compiled by {rebook} and assembled by {bookdown}, is eventually served by Bioconductor from the /inst/doc/book/ folder.\n{BiocBook}-based packages follow a strategy similar to that of OSCA books: they provide a Makefile in the vignettes/ folder to trigger book rendering when building the package. However, the executed command does not rely on {rebook} and {bookdown}, but on a render command from the quarto software.\nshell\n\nquarto render ../inst/\nmv ../inst/docs ../inst/doc/book\nThe resulting book, fully compiled by native quarto, is also located in /inst/doc/book/ once the package is built (and in doc/book in the library directory once installed).",
    "crumbs": [
      "<span class='chapter-number'>4</span>  <span class='chapter-title'>{`BiocBook`}-based books vs. {`rebook`}-based books</span>"
    ]
  },
  {
    "objectID": "pages/biocbook-vs-rebook.html#differences-with-rebook-based-books",
    "href": "pages/biocbook-vs-rebook.html#differences-with-rebook-based-books",
    "title": "\n4  {BiocBook}-based books vs. {rebook}-based books\n",
    "section": "",
    "text": "This implies that quarto (&gt;= 1.3) has to be installed in the system building the package!",
    "crumbs": [
      "<span class='chapter-number'>4</span>  <span class='chapter-title'>{`BiocBook`}-based books vs. {`rebook`}-based books</span>"
    ]
  },
  {
    "objectID": "pages/biocbook-vs-rebook.html#biocbook-features-missing-from-rebook",
    "href": "pages/biocbook-vs-rebook.html#biocbook-features-missing-from-rebook",
    "title": "\n4  {BiocBook}-based books vs. {rebook}-based books\n",
    "section": "\n4.2 BiocBook features missing from rebook\n",
    "text": "4.2 BiocBook features missing from rebook\n\n\nA BiocBook can be readily initiated using BiocBook::init();\nIt relies on modern .qmd files supported by Quarto;\nIt can work as a standalone Github-hosted package, without necessarily having to be submitted to/built by Bioconductor. The book should be rendered exactly the same way through Github or by the BBS;\nIt supports versioning of the online book served by gh-pages through the author Github account;\nIt distributes versioned Dockerfiles through the author Github account;\n\nBiocBook-based packages can actually provide fully-fledged functions in R/, manual pages and vignettes. They can be installed exactly the same way than other software packages.",
    "crumbs": [
      "<span class='chapter-number'>4</span>  <span class='chapter-title'>{`BiocBook`}-based books vs. {`rebook`}-based books</span>"
    ]
  },
  {
    "objectID": "pages/biocbook-vs-rebook.html#rebook-features-missing-from-biocbook",
    "href": "pages/biocbook-vs-rebook.html#rebook-features-missing-from-biocbook",
    "title": "\n4  {BiocBook}-based books vs. {rebook}-based books\n",
    "section": "\n4.3 rebook features missing from BiocBook\n",
    "text": "4.3 rebook features missing from BiocBook\n\n\nSmart reuse of objects generated in one book in another book;\n\n\n\n\n\n\n\nTip\n\n\n\nThis can still be achieved within a book by saving a data object as an .rds file and loading it in a subsequent chapter.\n\nisthisworking &lt;- readRDS('isthisworking.rds')\nisthisworking\n##  [1] \"yes\"\n\n\n\n\nNative support of cross-references across books.",
    "crumbs": [
      "<span class='chapter-number'>4</span>  <span class='chapter-title'>{`BiocBook`}-based books vs. {`rebook`}-based books</span>"
    ]
  }
]