Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
vkern authored Apr 18, 2024
0 parents commit f93f4ff
Show file tree
Hide file tree
Showing 1,836 changed files with 12,103 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# gitignore lists files you want Git to NOT track!
# Ignore metadata generated by Jekyll
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata

# Ignore folders generated by Bundler
.bundle/
vendor/

# Ignore mac files
.DS_Store

# temporarily ignore gemfile.lock
Gemfile.lock
22 changes: 22 additions & 0 deletions 404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: Page Not Found
layout: page
permalink: /404.html
# this creates a 404 page automatically handled by gh-pages
# the cow is from the linux program "cowsay"
---

<h1>404?</h1>
<p>Sorry, but the page you were trying to view does not exist.</p>

<pre><code>
____________
< Sorry, 404 >
------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||

</code></pre>
25 changes: 25 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "CollectionBuilder-GH"
type: software
authors:
- family-names: Williamson
given-names: Evan Peter
orcid: https://orcid.org/0000-0002-7990-9924
- family-names: Becker
given-names: Devin
orcid: https://orcid.org/0000-0002-0974-9064
- family-names: Wikle
given-names: Olivia
orcid: https://orcid.org/0000-0001-8122-4169
repository-code: 'https://github.com/CollectionBuilder/collectionbuilder-gh'
url: 'https://collectionbuilder.github.io/'
license: MIT
version: 1+
date-released: '2018-09-23'
abstract: >-
CollectionBuilder is an open source tool for
creating digital collection and exhibit websites
that are driven by metadata and powered by modern
static web technology.
license: MIT
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Code of Conduct

## Our Pledge

A primary goal of the CollectionBuilder community is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As community participants, we pledge to make participation in our project and community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

We invite all those who participate in the CollectionBuilder project and community to help us create safe and positive experiences for everyone.

## Scope

This code of conduct outlines our expectations for everyone who participates in our community, as well as the consequences for unacceptable behavior.

We expect all community participants (community organizers; project maintainers; contributors, paid or otherwise; sponsors; and others) to abide by this Code of Conduct, which applies in all community venues, online and in-person; in one-on-one or group communications pertaining to community business; and within project spaces and in public spaces when an individual is representing the project or its community.
Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
Representation of a project may be further defined and clarified by community organizers.

Participants are also expected to uphold the [GitHub Community Guidelines](https://help.github.com/en/articles/github-community-guidelines) for all behavior and content on the platform.

## Expected Behavior

The following behaviors are expected of all community participants:

- Using inclusive, respectful, and welcoming language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

## Unacceptable Behavior

The following behaviors are unacceptable within our community:

- Violence, threats of violence, or violent language directed against another person
- Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language
- Trolling, insulting/derogatory comments, and personal or political attacks
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Posting or displaying sexually explicit or violent material
- Publishing or threatening to publish others' private information, such as a physical or electronic address, without explicit permission ("doxing")
- Public or private harassment
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Community organizers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

## Consequences for Unacceptable Behavior

Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.

Anyone asked to stop unacceptable behavior is expected to comply immediately.

Community organizers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban (temporarily or permanently) any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful without warning (and without refund in the case of a paid event).

## Reporting Guidelines

If you are subject to or witness unacceptable behavior, or have any other concerns, please notify community organizers as soon as possible at [email protected] which is maintained by evanwill, dcnb, owikle, and juliastone0729.
If these are not appropriate contacts, please consider [reporting directly to GitHub](https://github.com/contact/report-abuse) or an administrative contact in the project's home at [University of Idaho Library](https://www.lib.uidaho.edu/about/directory.html).

All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.
Community organizers are obligated to uphold confidentiality with regard to the reporter of an incident.

Additionally, any abuse, harassment, and other harmful behavior taking place on GitHub can be reported directly:
https://github.com/contact/report-abuse

## Contact info

- email: [email protected]
- [CollectionBuilder GitHub organization](https://github.com/CollectionBuilder)
- [CollectionBuilder home page](https://collectionbuilder.github.io/)

## Attribution

This Code of Conduct is adapted from two sources:

1. The [Contributor Covenant](https://www.contributor-covenant.org/), version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html. For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq.
2. The Citizen Code of Conduct, Revision 2.3 2017, which is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org/) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). Portions of text from the Citizen Code of Conduct are derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy).
52 changes: 52 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# How to Contribute to CollectionBuilder

Thank you for contributing to CollectionBuilder!

CollectionBuilder prioritizes pragmatic, sustainable, and simplified approaches to infrastructure to ensure the tool is "do-able" and approachable for digital knowledge workers in libraries and museums, empowering them to take control of their web systems.
The core team is *not* full time developers--we are librarians.
Thus, we are focused on creating a supportive, inclusive community with low barriers to contributing (please see our [Code of Conduct](https://github.com/CollectionBuilder/collectionbuilder-csv/blob/main/CODE_OF_CONDUCT.md)).

Honestly, we do a lot of stuff the slow/old/inefficient/wrong way... but we make it work and invite you to learn/teach with us!

## Project resources

- Email contact: <[email protected]>
- [Main project site](https://collectionbuilder.github.io/)
- [User Documentation - CB-Docs](https://collectionbuilder.github.io/cb-docs/)
- Technical Documentation is found in individual project repositories in the "/docs" folder.
- General project tracking takes place in Issues in individual template repositories, or the [CollectionBuilder home repository](https://github.com/CollectionBuilder/collectionbuilder.github.io/issues)
- [CollectionBuilder Discussions](https://github.com/orgs/CollectionBuilder/discussions)

## Issues

Since this is a relatively small project, we are informal in using GitHub Issues and welcome you to open one to get in touch.
Issues should be opened in the repository of the specific template you are using for bug reports, feature ideas, and requests for missing documentation.
The team also uses Issues for project management related to the CollectionBuilder project.

For questions related to your own project using a CB template, it is best to ask for help in the main [CollectionBuilder Discussions form](https://github.com/orgs/CollectionBuilder/discussions) rather than opening an Issue.

Here are some tips:

- [How to use GitHub Issues](https://guides.github.com/features/issues/)
- Please focus on clear communication, providing plenty of detail and links so that we can understand the bug or proposal.
- Search the Issues to see if a related report has already been opened (if so add a comment or reaction!).
- Check our [documentation](https://collectionbuilder.github.io/cb-docs/) resources for solutions and other ways to get in touch.
- You can more informally ask questions and share ideas in the main [CollectionBuilder Discussions forum](https://github.com/orgs/CollectionBuilder/discussions). Discussions is often the best place to post questions about debugging metadata or pages in your own projects (rather than issues with the template code).

## Pull Requests

CollectionBuilder welcomes [Pull Requests](https://help.github.com/en/articles/about-pull-requests) from outside contributors.
Please provide plenty of detail in the PR so that the project team fully understands your contribution.

- [How to create a PR](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)

## Conventions

- Include lots of inline comments documenting code! The entire CollectionBuilder project has a educational outlook.
- Keep code structure *relatively* simple. The templates are intended to be comprehensible for digital librarians and DH practitioners to use and modify, not necessarily fully optimized solutions.
- Include spaces for readability. For example, in Liquid `{% if site.example %}{{ site.example }}{% endif %}`, not `{%if site.example%}{{site.example}}{%endif%}`.
- To improve readability, avoid excess white space and random indentations.
- Indent using spaces. HTML, JS, CSS and related files should be indented using 4 spaces. YAML with 2 spaces.
- Use `;` in metadata to denote multi-valued fields.
- New features should be progressive--adding features, while maintaining backwards compatibility with existing data setups. If possible, sane defaults should be set in Liquid and JS, so that projects lacking updated config variables will still function.
- Main branch should be code that is ready to go. Use feature branches for development and provide meaningful commit messages.
15 changes: 15 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
source "https://rubygems.org"

# gem "github-pages"
#
# Issue: github-pages Gem doesn't work with Ruby 3!
# This Gemfile should include the line commented out above.
# The lines below are added as a work around for Ruby 3.
# If you are doing serious customization and need to keep in sync with github-pages versions,
# Please use Ruby 2.7x,
# uncomment gem "github-pages"
# and delete the lines below.

gem "jekyll"

gem "webrick", "~> 1.7"
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2019 CollectionBuilder contributors, evanwill, dcnb, owikle, jylisadoney, University of Idaho Library Digital Initiatives, https://www.lib.uidaho.edu/digital/

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
71 changes: 71 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# CollectionBuilder-GH

A project to generate a free and simple digital collection site using [GitHub Pages](https://pages.github.com/) given:

- a CSV of collection metadata
- a folder of JPEG images, PDF documents, MP3s, or links to videos hosted on YouTube or Vimeo

Visit the [demo site](https://collectionbuilder.github.io/collectionbuilder-gh/).

## Build a Digital Collection

Gather your digital objects together and create your metadata using the [CollectionBuilder-GH Metadata Template](https://docs.google.com/spreadsheets/d/1Uv9ytll0hysMOH1j-VL1lZx6PWvc1zf3L35sK_4IuzI/copy) and [metadata docs](https://collectionbuilder.github.io/cb-docs/docs/metadata/gh_metadata/).

Then click the green "use this template" button to create your repository, and add your metadata and configure the repository to fit your collection and settings following the [CollectionBuilder Docs](https://collectionbuilder.github.io/cb-docs/).

Please feel free to ask questions in the main [CollectionBuilder discussion forum](https://github.com/CollectionBuilder/collectionbuilder.github.io/discussions).

**Note:**
Since CollectionBuilder-GH uses [GitHub Pages](https://pages.github.com/), it is only suitable for small collections, with lower resolution images.
GitHub repositories are limited to 1GB.
For larger collections or those that require more customization, check out the [CollectionBuilder-CSV](https://github.com/CollectionBuilder/collectionbuilder-csv) template.

## CollectionBuilder-GH Quick Tutorial

Follow the [CollectionBuilder-GH Walkthrough](https://collectionbuilder.github.io/cb-docs/docs/walkthroughs/gh-walkthrough/) to set up a collection quickly using demo metadata and objects.

- [Demo Metadata](https://docs.google.com/spreadsheets/d/1x48Te3duPAxh53foEihQVKTfCKUjaCCbH7TrMMd_yU4/copy)
- [Demo Objects](https://www.lib.uidaho.edu/collectionbuilder/demo-objects.zip)

## Teaching and Learning with CollectionBuilder-GH

CollectionBuilder-GH is intended as a simple template for hands-on teaching about digital libraries.
It can be used in a workshop setting to take participants through digitization and metadata creation, to having a live collection site hosted on GitHub.

CollectionBuilder-GH aims to be well documented and easy to configure by following the documentation, with the potential to scaffold learning of a multitude of transferable digital and data skills.
A project in "minimal computing", it provides a depth of learning opportunities, allowing users to take complete ownership over the project and make their work open to the world.

Learn about:

- Git and GitHub basics
- [Markdown](https://guides.github.com/features/mastering-markdown/), plaintext writing and content creation
- HTML, CSS, and JavaScript literacy
- command line literacy
- GitHub collaboration and project management
- [Jekyll](https://jekyllrb.com/) basics
- working in the Open, open source and open data
- digital libraries concepts such as "collections as data", minimal computing, data-driven design

> We prefer commonly understood formats (such as CSV spreadsheets over YAML), and convention over configuration (follow the example over learn all the options).
----------

## CollectionBuilder

<https://collectionbuilder.github.io/>

CollectionBuilder is a project of University of Idaho Library's [Digital Initiatives](https://www.lib.uidaho.edu/digital/) and the [Center for Digital Inquiry and Learning](https://cdil.lib.uidaho.edu) (CDIL) following the [Lib-Static](https://lib-static.github.io/) methodology.
Powered by the open source static site generator [Jekyll](https://jekyllrb.com/) and a modern static web stack, it puts collection metadata to work building beautiful sites.

The basic theme is created using [Bootstrap](https://getbootstrap.com/).
Metadata visualizations are built using open source libraries such as [DataTables](https://datatables.net/), [Leafletjs](http://leafletjs.com/), [Spotlight gallery](https://github.com/nextapps-de/spotlight), [lazysizes](https://github.com/aFarkas/lazysizes), and [Lunr.js](https://lunrjs.com/).
Object metadata is exposed using [Schema.org](http://schema.org) and [Open Graph protocol](http://ogp.me/) standards.

Questions can be directed to **[email protected]**

## License

CollectionBuilder documentation and general web content is licensed [Creative Commons Attribution-ShareAlike 4.0 International](http://creativecommons.org/licenses/by-sa/4.0/).
This license does *NOT* include any objects or images used in digital collections, which may have individually applied licenses described by a "rights" field.
CollectionBuilder code is licensed [MIT](https://github.com/CollectionBuilder/collectionbuilder-csv/blob/master/LICENSE).
This license does not include external dependencies included in the `assets/lib` directory, which are covered by their individual licenses.
11 changes: 11 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Security Policy

## Supported Versions

CollectionBuilder-CSV is a template repository used to start other projects.
External projects are not automatically updated from the central template--security issues relating to existing projects *created with CollectionBuilder* should be reported to the individual repository/project owners.
Security issues found in the main branch of the current CollectionBuilder-CSV template and its assets should be reported to CollectionBuilder team directly.

## Reporting a Vulnerability

To report a security issue, please email <[email protected]> with a description of the issue, the steps you took to create the issue, affected versions, and, if known, mitigations for the issue. This project follows a 90 day disclosure timeline.
Loading

0 comments on commit f93f4ff

Please sign in to comment.