mirror of
https://github.com/ipfs/ipfs-blog.git
synced 2026-07-21 09:03:25 +02:00
Merge pull request #7 from Ricardo-Silva91/feat/multiple-link-types
feat: support multiple link types
This commit is contained in:
+27
-2
@@ -5,8 +5,8 @@ admin_path:
|
||||
webhook_url:
|
||||
sections:
|
||||
- type: directory
|
||||
path: src/_blog/newslinks
|
||||
label: News Links
|
||||
path: src/_blog/academicpapers
|
||||
label: Academic Papers
|
||||
create: all
|
||||
match: "**/*"
|
||||
- type: directory
|
||||
@@ -14,6 +14,31 @@ sections:
|
||||
label: Blog Posts
|
||||
create: all
|
||||
match: "**/*"
|
||||
- type: directory
|
||||
path: src/_blog/events
|
||||
label: Events
|
||||
create: all
|
||||
match: "**/*"
|
||||
- type: directory
|
||||
path: src/_blog/newscoverage
|
||||
label: News Coverage
|
||||
create: all
|
||||
match: "**/*"
|
||||
- type: directory
|
||||
path: src/_blog/releasenotes
|
||||
label: Release Notes
|
||||
create: all
|
||||
match: "**/*"
|
||||
- type: directory
|
||||
path: src/_blog/tutorials
|
||||
label: Tutorials
|
||||
create: all
|
||||
match: "**/*"
|
||||
- type: directory
|
||||
path: src/_blog/videos
|
||||
label: Videos
|
||||
create: all
|
||||
match: "**/*"
|
||||
upload_dir: src/.vuepress/public
|
||||
public_path: ''
|
||||
front_matter_path: ''
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
<script>
|
||||
import RegularCard from '@theme/components/blog/RegularCard'
|
||||
import NewslinkCard from '@theme/components/blog/NewslinkCard'
|
||||
import LinkCard from '@theme/components/blog/LinkCard'
|
||||
|
||||
export default {
|
||||
name: 'BlogCard',
|
||||
components: { RegularCard, NewslinkCard },
|
||||
components: { RegularCard, LinkCard },
|
||||
|
||||
inheritAttrs: false,
|
||||
props: {
|
||||
@@ -27,8 +27,13 @@ export default {
|
||||
}
|
||||
|
||||
switch (this.card.type) {
|
||||
case 'newslink':
|
||||
return NewslinkCard
|
||||
case 'Academic paper':
|
||||
case 'Event':
|
||||
case 'News coverage':
|
||||
case 'Release notes':
|
||||
case 'Tutorial':
|
||||
case 'Video':
|
||||
return LinkCard
|
||||
|
||||
default:
|
||||
return null
|
||||
|
||||
+8
-4
@@ -9,7 +9,11 @@
|
||||
itemtype="https://schema.org/BlogPosting"
|
||||
>
|
||||
<div class="cover embed-responsive embed-responsive-og">
|
||||
<UnstyledLink :to="path" external class="embed-responsive-item">
|
||||
<UnstyledLink
|
||||
:to="path"
|
||||
:item="{ target: '_blank' }"
|
||||
class="embed-responsive-item"
|
||||
>
|
||||
<LazyImage
|
||||
class="h-full p-2"
|
||||
img-class="h-full"
|
||||
@@ -24,14 +28,14 @@
|
||||
</UnstyledLink>
|
||||
</div>
|
||||
<div class="pt-1 pb-4 px-4 flex flex-grow flex-col">
|
||||
<UnstyledLink :to="path" external>
|
||||
<UnstyledLink :to="path" :item="{ target: '_blank' }">
|
||||
<h1 class="type-h5 font-bold text-primary hover:underline clamp-3">
|
||||
{{ title }}
|
||||
</h1>
|
||||
</UnstyledLink>
|
||||
<div>
|
||||
<PostMeta
|
||||
category="newslink"
|
||||
:category="frontmatter.type"
|
||||
:date="frontmatter.date"
|
||||
:tags="frontmatter.tags"
|
||||
class="type-p4 text-primary"
|
||||
@@ -57,7 +61,7 @@ import UnstyledLink from '@theme/components/UnstyledLink'
|
||||
import PostMeta from '@theme/components/blog/PostMeta'
|
||||
|
||||
export default {
|
||||
name: 'BlogNewslinkCard',
|
||||
name: 'LinkCard',
|
||||
components: {
|
||||
LazyImage,
|
||||
UnstyledLink,
|
||||
@@ -33,7 +33,7 @@
|
||||
</router-link>
|
||||
<div>
|
||||
<PostMeta
|
||||
category="Blog Post"
|
||||
category="Blog post"
|
||||
:author="frontmatter.author"
|
||||
:date="frontmatter.date"
|
||||
:tags="frontmatter.tags"
|
||||
|
||||
@@ -67,8 +67,15 @@ import Breadcrumbs from '@theme/components/Breadcrumbs'
|
||||
import { getTags } from '@theme/util/tagUtils'
|
||||
import { parseProtectedPost, checkItem } from '@theme/util/blogUtils'
|
||||
|
||||
const protectedCardTypes = ['newslink']
|
||||
const defaultCategory = 'Blog posts'
|
||||
const protectedCardTypes = [
|
||||
'Academic paper',
|
||||
'Event',
|
||||
'News coverage',
|
||||
'Release notes',
|
||||
'Tutorial',
|
||||
'Video',
|
||||
]
|
||||
const defaultCategory = 'Blog post'
|
||||
|
||||
export default {
|
||||
name: 'BlogIndex',
|
||||
|
||||
@@ -80,6 +80,7 @@ export const parseProtectedPost = (
|
||||
title: item.title,
|
||||
author: { name: item.author },
|
||||
path: item.path,
|
||||
type: post.frontmatter.type,
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Academic Papers
|
||||
type: Academic paper
|
||||
data:
|
||||
- name: 'IPFS: Content Addressed, Versioned, P2P File System'
|
||||
title: 'IPFS: Content Addressed, Versioned, P2P File System'
|
||||
path: https://github.com/ipfs/papers/raw/master/ipfs-cap2pfs/ipfs-p2p-file-system.pdf
|
||||
date: 2014-07-24T00:00:00.000+00:00
|
||||
tags:
|
||||
- whitepaper
|
||||
- name: 'A practicable approach towards secure key-based routing'
|
||||
title: 'A practicable approach towards secure key-based routing'
|
||||
path: https://web.archive.org/web/20170809130252id_/http://www.tm.uka.de/doc/SKademlia_2007.pdf
|
||||
date: 2007-01-01T00:00:00.000+00:00
|
||||
tags:
|
||||
- Kademlia
|
||||
- security
|
||||
- name: 'Democratizing Content Publication with Coral'
|
||||
title: 'Democratizing Content Publication with Coral'
|
||||
path: https://web.archive.org/web/20181117012712/http://www.coralcdn.org/docs/coral-nsdi04.pdf
|
||||
date: 2005-01-01T00:00:00.000+00:00
|
||||
tags:
|
||||
- CDN
|
||||
- DHT
|
||||
- name: 'Kademlia: A Peer-to-peer Information System Based on the XOR Metric'
|
||||
title: 'Kademlia: A Peer-to-peer Information System Based on the XOR Metric'
|
||||
path: https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf
|
||||
date: 2002-10-10T00:00:00.000+00:00
|
||||
tags:
|
||||
- Kademlia
|
||||
- DHT
|
||||
---
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Events
|
||||
type: Event
|
||||
data:
|
||||
- name: 'Sample Event'
|
||||
title: 'Sample Event'
|
||||
path: https://github.com/ipfs-shipyard/ipfs-desktop/releases/tag/v0.13.2
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- meetup
|
||||
---
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
title: News Coverage
|
||||
type: News coverage
|
||||
data:
|
||||
- name: 'Juan Benet: From Idea to Action (CoinDesk)'
|
||||
title: 'Juan Benet: From Idea to Action (CoinDesk)'
|
||||
path: https://www.coindesk.com/juan-benet-most-influential-2020
|
||||
date: 2020-12-09T00:00:00.000+00:00
|
||||
tags:
|
||||
- interview
|
||||
- name: IPFS is paving the way for a new digital economy (Modern Consensus)
|
||||
title: IPFS is paving the way for a new digital economy (Modern Consensus)
|
||||
path: https://modernconsensus.com/commentary/opinion/ipfs-is-paving-the-way-for-a-new-digital-economy/
|
||||
date: 2020-10-08T06:00:00.000+00:00
|
||||
tags: weekly
|
||||
- name:
|
||||
The Decentralized Web Could Help Preserve The Internet’s Data For 1,000 Years.
|
||||
Here’s Why We Need IPFS To Build It (TechDirt)
|
||||
title:
|
||||
The Decentralized Web Could Help Preserve The Internet’s Data For 1,000 Years.
|
||||
Here’s Why We Need IPFS To Build It (TechDirt)
|
||||
path: https://www.techdirt.com/articles/20200504/16050844431/decentralized-web-could-help-preserve-internets-data-1000-years-heres-why-we-need-ipfs-to-build-it.shtml#comments
|
||||
date: 2020-05-05T06:00:00.000+00:00
|
||||
tags:
|
||||
- link
|
||||
- name: Latest Version of Open Source IPFS Improves Performance (DevOps.com)
|
||||
title: Latest Version of Open Source IPFS Improves Performance (DevOps.com)
|
||||
path: https://devops.com/latest-version-of-open-source-ipfs-improves-performance/
|
||||
date: 2020-04-30T06:00:00.000+00:00
|
||||
tags:
|
||||
- link
|
||||
- name: Decentralized Web Protocol IPFS Has Its Biggest Update So Far (Cointelegraph)
|
||||
title: Decentralized Web Protocol IPFS Has Its Biggest Update So Far (Cointelegraph)
|
||||
path: https://cointelegraph.com/news/decentralized-web-protocol-ipfs-has-its-biggest-update-so-far
|
||||
date: 2020-04-28T06:00:00.000+00:00
|
||||
tags: ''
|
||||
- name: InterPlanetary File System Is Uncensorable During Coronavirus News Fog (Coindesk)
|
||||
title: InterPlanetary File System Is Uncensorable During Coronavirus News Fog (Coindesk)
|
||||
path: https://www.coindesk.com/interplanetary-file-system-is-uncensorable-during-coronavirus-news-fog
|
||||
date: 2020-03-18T06:00:00.000+00:00
|
||||
tags: ''
|
||||
- name: IPFS Emerges as Tool to Distribute Container Images (Container Journal)
|
||||
title: IPFS Emerges as Tool to Distribute Container Images (Container Journal)
|
||||
path: https://containerjournal.com/topics/container-management/ipfs-emerges-as-tool-to-distribute-container-images/
|
||||
date: 2020-03-02T07:00:00.000+00:00
|
||||
tags: ''
|
||||
- name: JavaScript apps going InterPlanetary (Alessandro Segala)
|
||||
title: JavaScript apps going InterPlanetary (Alessandro Segala)
|
||||
path: https://medium.com/@italypaleale/watch-javascript-apps-going-inter-planetary-e33dba615a48
|
||||
date: 2020-01-20T07:00:00.000+00:00
|
||||
tags: ''
|
||||
---
|
||||
@@ -1,51 +0,0 @@
|
||||
---
|
||||
title: Newslinks
|
||||
type: newslink
|
||||
data:
|
||||
- name: 'Juan Benet: From Idea to Action (CoinDesk)'
|
||||
title: 'Juan Benet: From Idea to Action (CoinDesk)'
|
||||
path: https://www.coindesk.com/juan-benet-most-influential-2020
|
||||
date: 2020-12-09T00:00:00.000+00:00
|
||||
tags:
|
||||
- interview
|
||||
- name: IPFS is paving the way for a new digital economy (Modern Consensus)
|
||||
title: IPFS is paving the way for a new digital economy (Modern Consensus)
|
||||
path: https://modernconsensus.com/commentary/opinion/ipfs-is-paving-the-way-for-a-new-digital-economy/
|
||||
date: 2020-10-08T06:00:00.000+00:00
|
||||
tags: weekly
|
||||
- name: The Decentralized Web Could Help Preserve The Internet’s Data For 1,000 Years.
|
||||
Here’s Why We Need IPFS To Build It (TechDirt)
|
||||
title: The Decentralized Web Could Help Preserve The Internet’s Data For 1,000 Years.
|
||||
Here’s Why We Need IPFS To Build It (TechDirt)
|
||||
path: https://www.techdirt.com/articles/20200504/16050844431/decentralized-web-could-help-preserve-internets-data-1000-years-heres-why-we-need-ipfs-to-build-it.shtml#comments
|
||||
date: 2020-05-05T06:00:00.000+00:00
|
||||
tags:
|
||||
- link
|
||||
- name: Latest Version of Open Source IPFS Improves Performance (DevOps.com)
|
||||
title: Latest Version of Open Source IPFS Improves Performance (DevOps.com)
|
||||
path: https://devops.com/latest-version-of-open-source-ipfs-improves-performance/
|
||||
date: 2020-04-30T06:00:00.000+00:00
|
||||
tags:
|
||||
- link
|
||||
- name: Decentralized Web Protocol IPFS Has Its Biggest Update So Far (Cointelegraph)
|
||||
title: Decentralized Web Protocol IPFS Has Its Biggest Update So Far (Cointelegraph)
|
||||
path: https://cointelegraph.com/news/decentralized-web-protocol-ipfs-has-its-biggest-update-so-far
|
||||
date: 2020-04-28T06:00:00.000+00:00
|
||||
tags: ''
|
||||
- name: InterPlanetary File System Is Uncensorable During Coronavirus News Fog (Coindesk)
|
||||
title: InterPlanetary File System Is Uncensorable During Coronavirus News Fog (Coindesk)
|
||||
path: https://www.coindesk.com/interplanetary-file-system-is-uncensorable-during-coronavirus-news-fog
|
||||
date: 2020-03-18T06:00:00.000+00:00
|
||||
tags: ''
|
||||
- name: IPFS Emerges as Tool to Distribute Container Images (Container Journal)
|
||||
title: IPFS Emerges as Tool to Distribute Container Images (Container Journal)
|
||||
path: https://containerjournal.com/topics/container-management/ipfs-emerges-as-tool-to-distribute-container-images/
|
||||
date: 2020-03-02T07:00:00.000+00:00
|
||||
tags: ''
|
||||
- name: JavaScript apps going InterPlanetary (Alessandro Segala)
|
||||
title: JavaScript apps going InterPlanetary (Alessandro Segala)
|
||||
path: https://medium.com/@italypaleale/watch-javascript-apps-going-inter-planetary-e33dba615a48
|
||||
date: 2020-01-20T07:00:00.000+00:00
|
||||
tags: ''
|
||||
|
||||
---
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Release Notes
|
||||
type: Release notes
|
||||
data:
|
||||
- name: 'IPFS Desktop 0.13.2'
|
||||
title: 'IPFS Desktop 0.13.2'
|
||||
path: https://github.com/ipfs-shipyard/ipfs-desktop/releases/tag/v0.13.2
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- IPFS Desktop
|
||||
---
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: Tutorials
|
||||
type: Tutorial
|
||||
data:
|
||||
- name: 'ProtoSchool: Decentralized Data Structures'
|
||||
title: 'ProtoSchool: Decentralized Data Structures'
|
||||
path: https://proto.school/data-structures
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- 'ProtoSchool'
|
||||
- 'DAG'
|
||||
- 'CID'
|
||||
- name: 'ProtoSchool: Mutable File System'
|
||||
title: 'ProtoSchool: Mutable File System'
|
||||
path: https://proto.school/mutable-file-system
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- 'ProtoSchool'
|
||||
- 'MFS'
|
||||
- name: 'ProtoSchool: Regular Files API'
|
||||
title: 'ProtoSchool: Regular Files API'
|
||||
path: https://proto.school/regular-files-api
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- 'ProtoSchool'
|
||||
- 'API'
|
||||
- name: 'ProtoSchool: P2P Data Links with Content Addressing'
|
||||
title: 'ProtoSchool: P2P Data Links with Content Addressing'
|
||||
path: https://proto.school/basics
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- 'ProtoSchool'
|
||||
- name: 'ProtoSchool: Blogging on the Decentralized Web'
|
||||
title: 'ProtoSchool: Blogging on the Decentralized Web'
|
||||
path: https://proto.school/blog
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- 'ProtoSchool'
|
||||
- name: 'ProtoSchool: Anatomy of a CID'
|
||||
title: 'ProtoSchool: Anatomy of a CID'
|
||||
path: https://proto.school/anatomy-of-a-cid
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- 'ProtoSchool'
|
||||
- 'CID'
|
||||
---
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Videos
|
||||
type: Video
|
||||
data:
|
||||
- name: 'Sample Video'
|
||||
title: 'Sample Video'
|
||||
path: https://github.com/ipfs-shipyard/ipfs-desktop/releases/tag/v0.13.2
|
||||
date: 2020-09-12T00:00:00.000+00:00
|
||||
tags:
|
||||
- demo
|
||||
---
|
||||
Reference in New Issue
Block a user