모든 DEV 문서를 마크다운 형식으로 다운로드하는 방법
2920 단어 opensourceblogjamstackarticles
우리는 그것이 세계 최고의 개발자를 위한 사이트라는 데 동의할 수 있습니다. 개발 기사를 자신의 개인 블로그 사이트에 교차 게시하고 싶지만 각 게시물을 복사하여 붙여넣기가 너무 느리다면 어떻게 하시겠습니까? 😴
나는 내가 쓴 모든 단일 기사를 복사하여 내 personal site 에 붙여넣곤 했지만 금세 지루하다는 것을 알게 되었습니다. DEV 기사를 쉽게 생성할 수 있는 스크립트를 만들었습니다.
이를 수행하는 두 가지 방법이 있습니다. 아래 스크립트에서 작업하거나 Github 리포지토리를 복제합니다.
스크립트
다음은 메인 스크립트입니다. 꽤 짧습니다. axios를 사용하여 데이터를 가져오고 dotenv를 사용하여 비밀을 저장합니다.
require('dotenv').config()
const axios = require('axios')
const fs = require('fs')
const path = require('path')
const URL = 'https://dev.to/api/articles/me/published'
const options = {
headers: { 'api-key': process.env.DEV_KEY },
params: { 'per_page' : 1000 }
}
const contentDir = '/content/'
const contentPath = __dirname + contentDir
axios
.get(URL, options)
.then(response => {
response.data.forEach(article => {
const normalizedTitle = article.title
.replace(/\s+/g, '-')
.replace(/[^a-zA-Z0-9-]/g, '')
.toLowerCase()
const normalizedPublishedAt = article.published_at.split('T')[0]
const fileName = `${normalizedPublishedAt}_${normalizedTitle}.md`
console.log(`${contentDir}${fileName} created!`)
fs.writeFileSync(
`${contentPath}${fileName}`,
article.body_markdown,
'utf-8'
)
})
console.log('*** dev.to data successfully fetched ***')
})
.catch(error => {
console.log('ERROR: ', error)
})
매우 쉽게 할 수 있습니다. API 요청의 응답은 작성한 모든 기사의 배열을 반환합니다.
마크다운 콘텐츠를 추출하고 파일 이름을 YYYY-MM-DD_your-article-title.md
로 변경했습니다(마지막에 고유 ID도 제거했습니다(예: .../your-article-title-1a2b
)).
레포
나는 또한 github repo를 만들었습니다.
https://github.com/iggredible/dev-fetch-articles
저장소를 복제하고 모든 종속성을 설치하고 프로젝트 루트에 content/
디렉토리를 생성하기만 하면 됩니다. 귀하의 .env
정보를 제공하는 것을 잊지 마십시오!
git clone https://github.com/iggredible/dev-fetch-articles.git
cd dev-fetch-articles
npm install
mkdir content
mkdir .env
// create a key called DEV_KEY and give it your dev key values from dev.to site
사이트의 설정 -> 계정에서 DEV_KEY
비밀을 찾을 수 있습니다.
완료되면 npm run fetch-dev
를 실행하십시오. 방금 만든 content/
폴더에서 모든 기사를 찾을 수 있습니다. 이 스크립트를 앱에 사용하거나 이 스크립트를 사용하여 앱에 복사할 수 있는 콘텐츠를 생성할 수 있습니다.
더 좋게 만들기
코드를 개선할 수 있는 방법이 보이면 Github에 PR을 제출하거나 아래 댓글을 남겨주세요.
읽어 주셔서 감사합니다. 행복한 블로깅! 📖🔥
Reference
이 문제에 관하여(모든 DEV 문서를 마크다운 형식으로 다운로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/iggredible/how-to-generate-all-your-dev-articles-in-markdowns-b4n
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
require('dotenv').config()
const axios = require('axios')
const fs = require('fs')
const path = require('path')
const URL = 'https://dev.to/api/articles/me/published'
const options = {
headers: { 'api-key': process.env.DEV_KEY },
params: { 'per_page' : 1000 }
}
const contentDir = '/content/'
const contentPath = __dirname + contentDir
axios
.get(URL, options)
.then(response => {
response.data.forEach(article => {
const normalizedTitle = article.title
.replace(/\s+/g, '-')
.replace(/[^a-zA-Z0-9-]/g, '')
.toLowerCase()
const normalizedPublishedAt = article.published_at.split('T')[0]
const fileName = `${normalizedPublishedAt}_${normalizedTitle}.md`
console.log(`${contentDir}${fileName} created!`)
fs.writeFileSync(
`${contentPath}${fileName}`,
article.body_markdown,
'utf-8'
)
})
console.log('*** dev.to data successfully fetched ***')
})
.catch(error => {
console.log('ERROR: ', error)
})
나는 또한 github repo를 만들었습니다.
https://github.com/iggredible/dev-fetch-articles
저장소를 복제하고 모든 종속성을 설치하고 프로젝트 루트에
content/
디렉토리를 생성하기만 하면 됩니다. 귀하의 .env
정보를 제공하는 것을 잊지 마십시오!git clone https://github.com/iggredible/dev-fetch-articles.git
cd dev-fetch-articles
npm install
mkdir content
mkdir .env
// create a key called DEV_KEY and give it your dev key values from dev.to site
사이트의 설정 -> 계정에서
DEV_KEY
비밀을 찾을 수 있습니다.완료되면
npm run fetch-dev
를 실행하십시오. 방금 만든 content/
폴더에서 모든 기사를 찾을 수 있습니다. 이 스크립트를 앱에 사용하거나 이 스크립트를 사용하여 앱에 복사할 수 있는 콘텐츠를 생성할 수 있습니다.더 좋게 만들기
코드를 개선할 수 있는 방법이 보이면 Github에 PR을 제출하거나 아래 댓글을 남겨주세요.
읽어 주셔서 감사합니다. 행복한 블로깅! 📖🔥
Reference
이 문제에 관하여(모든 DEV 문서를 마크다운 형식으로 다운로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/iggredible/how-to-generate-all-your-dev-articles-in-markdowns-b4n
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(모든 DEV 문서를 마크다운 형식으로 다운로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iggredible/how-to-generate-all-your-dev-articles-in-markdowns-b4n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)