README.md 3.11 KB
Newer Older
Zach's avatar
Zach committed
1
2
3
4
# Dat Zine Library

It's a zine library for the Chorus!

Zach's avatar
Zach committed
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
**You can see an example library here:**
`dat://dat-zine-library.hashbase.io`

**To get a personal history, and changelog, for this library code check out: `https://coolguy.website/projects/dat-zine-library`

# Directory Structure

The code is organized around the metaphor of a real-life zine library.  So you have all of the zines, the building the zines go in, and the volunteers that perform all the actions that make the whole operation run.
You also have the identity of this library branch, and what distinguishes it from other zine libraryies.

This repo is laid out the same:

- `branch/`Holds the name and details of this particular library branch.
- `building/` Holds the HTML and CSS components that make up the library's structure and look.
- `volunteers/` Holds the core javascript functions that handle when the site is loaded, a zine is added, a zine is edited, etc.
- `zines/` Holds the zines themselves, each in their own text file.

TODO: Each folder has its own README with more details.

# Customizing the library

If you are the librarian, you can edit any of these files to make your branch your own.  The level of customization depends on how much coding you wanna do.  

Here's what I recommend:
- Edit the branch details either by clicking edit in the front-end, or by editing the info.txt file in the `branch/` folder.
- Remove any zines you don't wanna carry by deleting them from the `zines/` folder.
- Add new zines either through the front end, or by making a new .txt file in the `zines/` folder.
- Customize the general look by going to `building/aesthetic/stylesheets/colors-and-fonts.css`
- Customize the whole styling by going to `building/aesthetic/stylesheets/main.css`
- Customize the structural code in `building/components` or `volunteers`.  This last step will require some more javascript knowledge.


The library is built using [choo](https://choo.io).  This is a cute framework for building interactive web apps.  Their homepage has an awesome tutorial on getting started.  To really customize this, though, you'll need to install all required modules and such to your local computer.  (see below)

Zach's avatar
Zach committed
39
40
# Installing

Zach's avatar
Zach committed
41
42
43
44
45
46
The simplest way to install this is to visit the library link in beaker, then fork it and add it to your local directory. 

Alternately, you can clone this from gitlab.
`git clone https://gitlab.com/zachmandeville/dat-zine-library.git`

Then:
Zach's avatar
Zach committed
47
48
49
50
51
```
cd dat-zine-library
npm install
npm run build
```
Zach's avatar
Zach committed
52
53

If you cloned it from gitlab, you'll need to add this folder to yr BeakerBrowser:
Zach's avatar
Zach committed
54
55
56
57
58
59
60
61
62
63
64
65

```
- Open Beaker
- Click the Hamburger Icon in the top Right
- choose Create New > From Folder
- select dat-zine-library
- Click the link in the top right to view it!
```

# Usage
 
To add a new dat zine:
66
67
You can do it through the add-zine button on the front end, or through the backend like so:

Zach's avatar
Zach committed
68
69
70
71
72
73
74
75
76
77
78
- right click and then 'view files'
- click on the 'zines' folder
- Click 'New'
- add a txt file named after your zine that looks like this: 
 
```
title: name of zine
----
url: dat:/ads;lkfajdsgklajglkah3j2kljakhdh32j.sha256
```

Zach's avatar
Zach committed
79
Click save and you should be good.  If not, lemme know!
Zach's avatar
Zach committed
80