mirror of
https://github.com/ipfs/awesome-ipfs.git
synced 2024-11-20 11:28:35 -05:00
88 lines
No EOL
2.7 KiB
Markdown
88 lines
No EOL
2.7 KiB
Markdown
## Website Elements
|
|
|
|
- Title
|
|
- Description
|
|
- Tabs that switches between categories
|
|
- Apps
|
|
- Tools (difference from apps?)
|
|
- Archives
|
|
- Videos
|
|
- Articles
|
|
- Discussions
|
|
- Below, after clicking category, show most popular tag within that category
|
|
and allow further filtering. (future allow multiple tags? Will be hard without JS)
|
|
- topic:blockchain
|
|
- topic:ethereum
|
|
- topic:research
|
|
- topic:file-sharing
|
|
- topic:chat
|
|
- state:prototype
|
|
- state:beta
|
|
- state:stable
|
|
- platform:firefox
|
|
- platform:chrome
|
|
- platform:windows
|
|
- List of items matching the selected filters ("apps" + "topic:chat" shows all chat apps)
|
|
- Each item gets a card
|
|
- layout can be X amount of cards depending on screen width
|
|
- each card has:
|
|
- title
|
|
- screenshot of item in action
|
|
- first 80 characters of description
|
|
- highlighted and on the top if `featured`
|
|
- the title+description are normal anchor tags
|
|
- Edit link for linking to the data file (and possibly row) in Github
|
|
for easy editing
|
|
- Link to repository
|
|
- Link to issue/markdown file describing how to suggest new items
|
|
- Link to `Ecosystem` category on discuss.ipfs.io
|
|
|
|
## Data Structure
|
|
|
|
- Each category has it's own data file within `data/`
|
|
- Title for each item has to be unique (category should not be in URL)
|
|
- Screenshot location is based on title. If no screenshot found, should use a default image
|
|
|
|
Example `apps.yml`
|
|
|
|
```
|
|
title: 'Apps'
|
|
description: 'Applications built with IPFS or with functionality that uses IPFS'
|
|
items:
|
|
- title: Akasha
|
|
description: A Next-Generation Social Media Network, powered by Ethereum and embedded into IPFS
|
|
featured: true
|
|
url: https://akasha.world/
|
|
- title: Alexandria
|
|
description: Decentralized content publishing / monetization platform
|
|
url: http://www.alexandria.io/learn/#integrated-technologies
|
|
# `featured` defaults to false
|
|
```
|
|
|
|
Example `videos.yml`
|
|
|
|
```
|
|
title: 'Videos'
|
|
description: 'Videos about IPFS'
|
|
items:
|
|
- title: IPFS Alpha | Why We Must Distribute The Web
|
|
url: https://www.youtube.com/watch?v=skMTdSEaCtA
|
|
featured: true
|
|
- title: Juan Benet at Stanford 2015
|
|
url: https://www.youtube.com/watch?v=HUVmypx9HGI
|
|
# `featured` defaults to false
|
|
```
|
|
|
|
## Readme generation
|
|
|
|
The guide for developing/building the website should not be in `readme.md` but
|
|
rather in `develop.md` or similar, since `readme.md` will be generated by hugo
|
|
on build time. Basically it should create the same we have now, based on items
|
|
inside `data/`
|
|
|
|
## Sorting / Ordering / Ranking
|
|
|
|
We will have a `featured` flag which will put those items at the top.
|
|
|
|
However, we need to ensure that Hugo sorts the same way always and might want
|
|
some other metrics for ranking, like the `state` of the project or similar. |