Skip to content

Supplementary material for solving projects assigned in The Data Mine.

Notifications You must be signed in to change notification settings

thomashuss/the-examples-book

 
 

Repository files navigation

Purdue University

Deploy to Netlify


Website: https://the-examples-book.com (main branch)

Old website (being transferred): https://thedatamine.github.io/the-examples-book (master branch)


The Examples Book

Supplementary material for solving projects assigned in The Data Mine, Purdue University's integrative data science initiative. The "core" book can be found at https://the-examples-book.com. Complementary materials are available as appendices at the following URLs:

You can learn more about The Data Mine using the following links:

Contribution

Thank you for those that have already contributed. If you have an ignored issue or pull request, please know we are going to get to it and we really appreciate your patience.

Here is our guide on how to contribute. Please feel free to start a discussion or open up an issue.

Build

This book is written using AsciiDoc. AsciiDoc is an open and powerful format for writing notes, text documents, books, etc. It is easy to write technical documentation in AsciiDoc, and quickly convert the text to various mediums like websites, ebooks, pdfs, etc.

Website

To build the website, we used Antora. To build the website using Antora, you must first download and install nodejs. You can test to make sure nodejs was properly installed by running:

node --version

You should get a similar result to:

node --version
v15.12.0

To install Antora, simply run:

npm i -g @antora/cli @antora/site-generator-default

Once installed, you can confirm by running:

antora -v

Which should result in something similar to:

antora -v
2.3.4

Search index

Search is handled by Meilisearch. For this repository -- the core book -- the following GitHub Action job automatically builds, deploys, and updates the search index. There is no additional work that must be done when a change is made to this repository.

name: Deploy to Netlify

on:
  push:
    branches:
      - main

jobs:
  deploy:
    name: 'Deploy'
    runs-on: ubuntu-18.04

    steps:
      - uses: actions/checkout@v2
      - uses: jsmrcaga/action-netlify-deploy@master
        with:
          NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
          NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
          NETLIFY_DEPLOY_MESSAGE: '${{ github.event.head_commit.message }}'
          NETLIFY_DEPLOY_TO_PROD: true
          build_directory: 'build/site'
          install_command: npm i -g @antora/cli @antora/site-generator-default;
          build_command: antora antora-playbook.yml --stacktrace --fetch;

  run-scraper:
    needs: deploy
    runs-on: ubuntu-18.04
    steps:      
    - name: Clone TheDataMine/docs-scraper
      uses: actions/checkout@v2
      with: 
        repository: TheDataMine/docs-scraper
    - name: Install pipenv
      run: |
        python3 -m pip install --upgrade pipenv wheel
    - id: cache-pipenv
      uses: actions/cache@v1
      with:
        path: ~/.local/share/virtualenvs
        key: ${{ runner.os }}-pipenv-${{ hashFiles('**/Pipfile.lock') }}
    - name: Install dependencies
      if: steps.cache-pipenv.outputs.cache-hit != 'true'
      run: 
        pipenv install
    - name: Run docs-scraper
      env:
        MEILISEARCH_HOST_URL: ${{ secrets.MEILISEARCH_HOST_URL }}
        MEILISEARCH_API_KEY: ${{ secrets.MEILISEARCH_API_KEY }}
      run: |
        pipenv run ./docs_scraper ./the-examples-book.config.json
        
  purge-cf-cache:
    needs: deploy
    runs-on: ubuntu-18.04
    steps:
    - name: Purge Cloudflare cache
      uses: jakejarvis/cloudflare-purge-action@master
      env:
        CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
        CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}

— # —

About

Supplementary material for solving projects assigned in The Data Mine.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 77.0%
  • Handlebars 15.2%
  • Jupyter Notebook 6.7%
  • Other 1.1%