Skip to content

Commit cd36d97

Browse files
authored
Merge pull request #41 from mapachurro/readme-rectify
README: align some information from old version, move lots of detail elsewhere
2 parents d1e5bac + f01707b commit cd36d97

7 files changed

Lines changed: 643 additions & 27 deletions

File tree

.github/ISSUE_TEMPLATE/term_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
name: 1. Term Addition/Modification
2+
name: 1. Term addition or modification
33
about: Suggest a new term or modify an existing one
44
title: '[TERM] - '
55
labels: content

.github/legacy/template-backup.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: 'Add or modify a term '
3+
about: 'Make a suggestion to add or improve a term''s entry '
4+
title: "[SUBMISSION]"
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
You can make your suggestion in writing, ie "narrative" form here, like:
11+
12+
"We should add the term 'stonks' because everybody in Discord says it. The definition should be "A meme meaning the value of something is good. Or bad."
13+
14+
Or you can submit an entry using the JSON format in which each term record is saved:
15+
16+
```
17+
"0x-api": {
18+
"term": "0x API",
19+
"partOfSpeech": "noun",
20+
"termCategory": "",
21+
"phonetic": "/ˌzɪroʊ ˈɛks ˈeɪ.pi.aɪ/",
22+
"definition": "The 0x API is the liquidity and data endpoint for DeFi. It lets you access aggregated liquidity from tens of on-chain and off-chain decentralized exchange networks, across multiple blockchains. It comes with many parameters to customize your requests for your application and your users.",
23+
"definitionSource": "",
24+
"sampleSentence": "",
25+
"extended": "",
26+
"termSource": "",
27+
"dateFirstRecorded": "",
28+
"commentary": ""
29+
},
30+
31+
```
32+
33+
"0x-api": { `this is a sanitized version of the term, that will appear as a URL`
34+
"term": "0x API", `this is the term itself`
35+
"partOfSpeech": "noun", `what grammatical category is it?`
36+
"termCategory": "", `is it web3? Web2? Memes?`
37+
"phonetic": "/ˌzɪroʊ ˈɛks ˈeɪ.pi.aɪ/", `an IPA pronunciation`
38+
"definition": "The 0x API is the liquidity and data endpoint for DeFi. It lets you access aggregated liquidity from tens of on-chain and off-chain decentralized exchange networks, across multiple blockchains. It comes with many parameters to customize your requests for your application and your users.", `The definition of the term. This should be one to two sentences, and don't use the term in its own definition.`
39+
"definitionSource": "", `Who wrote this definition?`
40+
"sampleSentence": "", `Can you use it in a sentence?`
41+
"extended": "", `Is there more to say? Back story? Multiple uses? Debate?`
42+
"termSource": "", `Know who coined the term? Did it come from a specific website or account?`
43+
"dateFirstRecorded": "", `Date of submission here`
44+
"commentary": "" `If there is active debate, room for doubt, a topic under development, this is the place for explanations!`
45+
},

.github/workflows/deploy.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Deploy to GH Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main # Replace with your branch name if different
7+
8+
jobs:
9+
# Build job
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
# Step 1: Checkout the repository
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
# Step 2: Set up Node.js
18+
- name: Set up Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: 21
22+
23+
# Step 3: Install dependencies and build the project
24+
- name: Install dependencies and buildg
25+
run: |
26+
npm ci
27+
npm run build
28+
29+
# upload as artifact
30+
- name: Upload static files as artifact
31+
id: deployment
32+
uses: actions/upload-pages-artifact@v3 # or specific "vX.X.X" version tag for this action
33+
with:
34+
path: ./build
35+
36+
37+
# Deploy job
38+
deploy:
39+
# Add a dependency to the build job
40+
needs: build
41+
42+
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
43+
permissions:
44+
pages: write # to deploy to Pages
45+
id-token: write # to verify the deployment originates from an appropriate source
46+
47+
# Deploy to the github-pages environment
48+
environment:
49+
name: github-pages
50+
url: ${{ steps.deployment.outputs.page_url }}
51+
52+
# Specify runner + deployment step
53+
runs-on: ubuntu-latest
54+
steps:
55+
- name: Deploy to GitHub Pages
56+
id: deployment
57+
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action

README.md

Lines changed: 91 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,57 @@ A multilingual glossary for web3, crypto, and decentralized web terminology, dep
99
1010
## Overview
1111

12-
wordsofweb3 is a collaborative project by [Education DAO](https://educationdao.xyz/) that aims to create a credibly neutral, living record of web3 terminology. The project supports multiple languages and provides an intertextual experience where terms link to related concepts.
12+
wordsofweb3 is a collaborative project by [Education DAO](https://educationdao.xyz/) that aims to create a credibly neutral, living record of web3 and decentralized web tech terminology.
13+
14+
The project supports multiple languages and provides an intertextual experience where terms link to related concepts.
15+
16+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
17+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
18+
19+
- [Design Philosophy](#design-philosophy)
20+
- [Features](#features)
21+
- [Supported Languages](#supported-languages)
22+
- [Getting Started](#getting-started)
23+
- [Prerequisites](#prerequisites)
24+
- [Installation](#installation)
25+
- [Technical Conventions](#technical-conventions)
26+
- [Project Architecture](#project-architecture)
27+
- [Directory Structure](#directory-structure)
28+
- [Data Management](#data-management)
29+
- [CSV Files](#csv-files)
30+
- [Build Process](#build-process)
31+
- [Search Functionality](#search-functionality)
32+
- [Visual Identity](#visual-identity)
33+
- [Color Palette](#color-palette)
34+
- [Contributing](#contributing)
35+
- [Development](#development)
36+
- [Building the Project](#building-the-project)
37+
- [Testing](#testing)
38+
- [Test on local server](#test-on-local-server)
39+
- [Deployment](#deployment)
40+
- [Future Plans](#future-plans)
41+
- [License](#license)
42+
- [Contact](#contact)
43+
44+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
1345

1446
## Design Philosophy
1547

1648
This app is meant to be _for the ages_. We follow these core principles:
1749

18-
- **Longevity**: Built to sometimes break(but never fail, like every other durable thing out there), using the simplest possible solutions
50+
- **Longevity**: Built to sometimes break (but never fail, like every other durable thing out there), using the simplest possible solutions
1951
- **Accessibility**: Available to the widest possible audience
2052
- **Decentralization**: Deployed on [IPFS](https://ipfs.tech/) for permanent availability
2153
- **Simplicity**: Minimal dependencies, custom solutions over external packages
22-
- **Language Neutrality**: Working towards a language-agnostic approach
54+
- **Language neutrality**: Working towards a human language-agnostic design.
2355

2456
## Features
2557

26-
- **Multilingual Support**: Available in 28+ languages
27-
- **Intertextual Experience**: Terms link to related concepts within definitions
28-
- **Search Functionality**: Easy term lookup across all supported languages
29-
- **Static Generation**: All pages built at compile time for reliability
30-
- **Decentralized Storage**: Deployed on IPFS via [Fleek]((https://fleek.xyz/))
58+
- **Multilingual support**: Available in 28+ languages
59+
- **Intertextual experience**: Terms link to related concepts within definitions
60+
- **Search functionality**: Easy term lookup across all supported languages
61+
- **Static generation**: All pages built at compile time for reliability
62+
- **Decentralized storage**: Deployed on IPFS via [Fleek]((https://fleek.xyz/)); working towards multiple fallbacks, e.g. Arweave, GH Pages, etc.
3163

3264
## Supported Languages
3365

@@ -42,11 +74,27 @@ This app is meant to be _for the ages_. We follow these core principles:
4274
- Français (French)
4375
- Deutsch (German)
4476
- Eλληνικά (Greek)
77+
- Hausa
4578
- हिन्दी (Hindi)
4679
- 日本語 (Japanese)
4780
- 한국어 (Korean)
48-
- Español (Latin America)
49-
- And many more...
81+
- Español de (Latin America)
82+
- Magyar (Hungarian)
83+
- Bahasa Indonesia (Indonesian)
84+
- Italiano (Italian)
85+
- فارسی (Persian)
86+
- Bahasa Melayu (Malaysian)
87+
- Pidgin (Nigerian Pidgin)
88+
- Polski (Polish)
89+
- Português Brasileiro (Brazilian Portuguese)
90+
- Limba Română (Romanian)
91+
- Русские (Russian)
92+
- Español de América Latina (Latin American Spanish)
93+
- Tagalog (Filipino)
94+
- ไทย (Thai)
95+
- Türkçe (Turkish)
96+
- Українська (Ukrainian)
97+
- Tiếng-việt (Vietnamese)
5098

5199
</details>
52100

@@ -63,14 +111,21 @@ This app is meant to be _for the ages_. We follow these core principles:
63111
bash
64112
git clone https://github.com/mapachurro/wordsofweb3.git
65113
cd wordsofweb3
114+
nvm use
115+
```
116+
If necessary, based on console output, run `nvm install`
117+
118+
Once the correct version of node is installed, run:
119+
120+
```bash
66121
npm install
67122
```
68123

69124
### Technical Conventions
70125

71126
1. **Module System**
72127
- Use ES Module syntax throughout
73-
- No CommonJS `require()` statements
128+
- No CommonJS `require()` statements
74129

75130
2. **Error Handling**
76131
- Include graceful failures
@@ -81,6 +136,8 @@ npm install
81136
- Prefer custom scripts over npm packages
82137
- Maintain minimal dependencies
83138

139+
**Note**: *Currently, this project does not bundle any JS into the client side. It outputs static JS files for specific pages only.*
140+
84141
## Project Architecture
85142

86143
### Directory Structure
@@ -109,6 +166,8 @@ npm install
109166
3. Intertextual links created
110167
4. Search indices built
111168

169+
See [the build script](./utils/build.js) for more detail.
170+
112171
## Search Functionality
113172

114173
The search system provides:
@@ -118,6 +177,9 @@ The search system provides:
118177
- Partial matches
119178
- Language-specific search indices
120179

180+
The search results are drawn from indices made during the build process.
181+
They will be located in each locale's built directory, under the file name `directoryContents.json`.
182+
121183
## Visual Identity
122184

123185
### Color Palette
@@ -148,28 +210,41 @@ We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for:
148210
npm run build
149211
```
150212

151-
152213
This will:
153214
1. Generate homepages
154215
2. Build term pages
155216
3. Create intertextual links
156217
4. Generate search indices
157218
5. Copy static assets
158219

220+
For a detailed, if not always up to date, walkthrough of data importation and site build processes, see [the build README](./utils/BUILD-README.md).
221+
159222
### Testing
160223

161224
Before deployment:
162225

163-
1. Test on local server
226+
1. [Test on local server](#test-on-local-server)
164227
2. Verify language switching
165228
3. Check search functionality
166229
4. Validate intertextual links
167230

231+
#### Test on local server
232+
233+
Once you've installed this project, you can simply run:
234+
235+
```bash
236+
- npm run build
237+
- npm run start
238+
```
239+
and you will have the site running locally at `localhost:8080`.
240+
168241
## Deployment
169242

170-
- Primary: IPFS via Fleek.xyz
171-
- ENS: wordsofweb3.eth
172-
- Access: wordsofweb3.eth.limo
243+
The site is currently deployed using a combination of two web3 technologies:
244+
245+
- Site builds uploaded to IPFS, and domain routed to that content hash, via [Fleek](https://fleek.xyz)
246+
- [ENS](https://ens.domains) is used to create the `wordsofweb3.eth` name
247+
- ENS' 'limo' routing service integrates with Fleek to allow the site to **be accessible at [wordsofweb3.eth.limo](https://wordsofweb3.eth.limo)**.
173248

174249
## Future Plans
175250

0 commit comments

Comments
 (0)