JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 25
  • Score
    100M100P100Q63215F
  • License MIT

GitHub style blog activity visualization widget with RSS feed support, deployed proxy server integration, and enhanced customization options for multiple users

Package Exports

  • blog-garden-widget
  • blog-garden-widget/blog-garden-widget.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (blog-garden-widget) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

🎯 Blog Garden Widget

GitHub μŠ€νƒ€μΌμ˜ λΈ”λ‘œκ·Έ ν™œλ™ μ‹œκ°ν™” μœ„μ ―μž…λ‹ˆλ‹€. RSS ν”Όλ“œλ₯Ό μžλ™μœΌλ‘œ νŒŒμ‹±ν•˜μ—¬ λΈ”λ‘œκ·Έ ν™œλ™μ„ GitHub μž”λ””μ™€ λ™μΌν•œ μŠ€νƒ€μΌλ‘œ λ³΄μ—¬μ€λ‹ˆλ‹€.

✨ μ£Όμš” κΈ°λŠ₯

  • 🎨 GitHub μŠ€νƒ€μΌ: μ •ν™•ν•œ GitHub μž”λ”” 색상 μ½”λ“œ μ‚¬μš©
  • πŸ“‘ RSS μžλ™ νŒŒμ‹±: RSS ν”Όλ“œμ—μ„œ κ²Œμ‹œλ¬Ό 정보 μžλ™ μˆ˜μ§‘
  • πŸ”„ μžλ™ μ—…λ°μ΄νŠΈ: 24μ‹œκ°„λ§ˆλ‹€ 데이터 μžλ™ κ°±μ‹ 
  • πŸ“± λ°˜μ‘ν˜• λ””μžμΈ: λͺ¨λ°”일과 λ°μŠ€ν¬ν†± λͺ¨λ‘ 지원
  • 🌏 ν•œκ΅­μ–΄ 지원: ν•œκ΅­μ–΄ λ‚ μ§œ ν˜•μ‹κ³Ό λ©”μ‹œμ§€
  • βš™οΈ μ™„μ „ μ»€μŠ€ν„°λ§ˆμ΄μ§•: 제λͺ©, 색상, μ—…λ°μ΄νŠΈ μ£ΌκΈ° λ“± μ„€μ • κ°€λŠ₯
  • πŸš€ 배포된 ν”„λ‘μ‹œ μ„œλ²„: CORS 문제 해결을 μœ„ν•œ ν΄λΌμš°λ“œ ν”„λ‘μ‹œ μ„œλ²„ 제곡
  • πŸ”§ ν–₯μƒλœ μ„±λŠ₯: μ„œλ²„ μ‚¬μ΄λ“œ RSS νŒŒμ‹±μœΌλ‘œ ν΄λΌμ΄μ–ΈνŠΈ λΆ€λ‹΄ κ°μ†Œ
  • πŸ“Š λ‹€μ–‘ν•œ RSS ν˜•μ‹: RSS, Atom ν”Όλ“œ λͺ¨λ‘ 지원
  • πŸ‘₯ 닀쀑 μ‚¬μš©μž 지원: μ—¬λŸ¬ μ‚¬μš©μžκ°€ λ™μ‹œμ— μ‚¬μš© κ°€λŠ₯
  • πŸ›‘οΈ Rate Limiting: API λ‚¨μš© λ°©μ§€λ₯Ό μœ„ν•œ μš”μ²­ μ œν•œ

πŸš€ λΉ λ₯Έ μ‹œμž‘

1. 슀크립트 λ‘œλ“œ

3κ°œμ›” 버전 μœ„μ ―

<script src="https://unpkg.com/blog-garden-widget@latest/blog-garden-widget.js"></script>

1λ…„ 버전 μœ„μ ―

<script src="https://unpkg.com/blog-garden-widget@latest/blog-garden-widget-1y.js"></script>

2. HTML μ»¨ν…Œμ΄λ„ˆ 생성

3κ°œμ›” 버전 μœ„μ ―

<div id="my-blog-garden-widget"></div>

1λ…„ 버전 μœ„μ ―

<div id="my-yearly-blog-garden-widget"></div>

3. μœ„μ ― μ΄ˆκΈ°ν™”

3κ°œμ›” 버전 μœ„μ ―

const widget = new GradenWidget('#my-blog-garden-widget', {
    rssUrl: 'https://your-blog.com/rss',
    title: 'λ‚΄ λΈ”λ‘œκ·Έ ν™œλ™'
});

1λ…„ 버전 μœ„μ ―

const yearlyWidget = new GradenWidget1Y('#my-yearly-blog-garden-widget', {
    rssUrl: 'https://your-blog.com/rss',
    title: '1λ…„ ν™œλ™ 기둝'
});

πŸ“– κΈ°λ³Έ μ‚¬μš©λ²•

HTML μ†μ„±μœΌλ‘œ μžλ™ μ΄ˆκΈ°ν™”

3κ°œμ›” 버전 μœ„μ ―

<div data-graden-widget
     data-rss-url="https://your-blog.com/rss"
     data-title="λΈ”λ‘œκ·Έ ν™œλ™">
</div>

1λ…„ 버전 μœ„μ ―

<div data-graden-widget-1y
     data-rss-url="https://your-blog.com/rss"
     data-title="1λ…„ ν™œλ™ 기둝">
</div>

JavaScript API둜 동적 생성

3κ°œμ›” 버전 μœ„μ ―

const widget = new GradenWidget('#container', {
    rssUrl: 'https://your-blog.com/rss',
    title: 'μ»€μŠ€ν…€ 제λͺ©',
    updateInterval: 12 * 60 * 60 * 1000, // 12μ‹œκ°„λ§ˆλ‹€ μ—…λ°μ΄νŠΈ
    showLegend: true,
    showFooter: true
});

1λ…„ 버전 μœ„μ ―

const yearlyWidget = new GradenWidget1Y('#container', {
    rssUrl: 'https://your-blog.com/rss',
    title: '1λ…„ ν™œλ™ 기둝',
    updateInterval: 12 * 60 * 60 * 1000, // 12μ‹œκ°„λ§ˆλ‹€ μ—…λ°μ΄νŠΈ
    showLegend: true,
    showFooter: true
});

πŸ“Š μœ„μ ― 버전별 νŠΉμ§•

ꡬ뢄 3κ°œμ›” 버전 1λ…„ 버전
클래슀λͺ… GradenWidget GradenWidget1Y
HTML 속성 data-graden-widget data-graden-widget-1y
크기 250px λ„ˆλΉ„ 1000px λ„ˆλΉ„
κΈ°κ°„ 졜근 3κ°œμ›” 졜근 1λ…„
κ·Έλ¦¬λ“œ 12μ£Ό Γ— 7일 = 84개 μ…€ 52μ£Ό Γ— 7일 = 364개 μ…€
μš©λ„ μ‚¬μ΄λ“œλ°”, μ»΄νŒ©νŠΈν•œ 곡간 λ³Έλ¬Έ, μƒμ„Έν•œ μ—°κ°„ 뢄석
λ‘œλ”© 속도 빠름 (~50ms) 보톡 (~80ms)

βš™οΈ κΈ°λ³Έ μ„€μ • μ˜΅μ…˜

μ˜΅μ…˜ νƒ€μž… κΈ°λ³Έκ°’ μ„€λͺ…
rssUrl string 'https://pearlluck.tistory.com/rss' RSS ν”Όλ“œ URL
title string 'ν™œλ™ 기둝' μœ„μ ― 제λͺ©
updateInterval number 86400000 μ—…λ°μ΄νŠΈ μ£ΌκΈ° (λ°€λ¦¬μ΄ˆ, 24μ‹œκ°„)
showLegend boolean true λ²”λ‘€ ν‘œμ‹œ μ—¬λΆ€
showFooter boolean true ν‘Έν„° ν‘œμ‹œ μ—¬λΆ€

πŸ” λΈŒλΌμš°μ € 지원

  • Chrome 60+
  • Firefox 55+
  • Safari 12+
  • Edge 79+

πŸ“¦ μ„€μΉ˜

CDN μ‚¬μš© (ꢌμž₯)

3κ°œμ›” λ²„μ „λ§Œ μ‚¬μš©

<script src="https://unpkg.com/blog-garden-widget@latest/blog-garden-widget.js"></script>

1λ…„ λ²„μ „λ§Œ μ‚¬μš©

<script src="https://unpkg.com/blog-garden-widget@latest/blog-garden-widget-1y.js"></script>

두 버전 λͺ¨λ‘ μ‚¬μš©

<script src="https://unpkg.com/blog-garden-widget@latest/blog-garden-widget.js"></script>
<script src="https://unpkg.com/blog-garden-widget@latest/blog-garden-widget-1y.js"></script>

npm μ„€μΉ˜

npm install blog-garden-widget

πŸ“± ν‹°μŠ€ν† λ¦¬ λΈ”λ‘œκ·Έ 적용 μ˜ˆμ‹œ

μ‚¬μ΄λ“œλ°”μ— 3κ°œμ›” 버전 μœ„μ ― μΆ”κ°€

<!-- ν‹°μŠ€ν† λ¦¬ κ΄€λ¦¬μž β†’ κΎΈλ―ΈκΈ° β†’ μ‚¬μ΄λ“œλ°” β†’ HTML μœ„μ ― -->
<div data-graden-widget
     data-rss-url="https://your-blog.tistory.com/rss"
     data-title="ν™œλ™ 기둝"
     data-show-legend="true">
</div>

<script src="https://unpkg.com/blog-garden-widget@latest/blog-garden-widget.js"></script>

본문에 1λ…„ 버전 μœ„μ ― μΆ”κ°€

<!-- ν‹°μŠ€ν† λ¦¬ κ΄€λ¦¬μž β†’ κΎΈλ―ΈκΈ° β†’ HTML νŽΈμ§‘ -->
<div class="yearly-activity-widget">
    <h3>μ—°κ°„ ν™œλ™ 기둝</h3>
    <div data-graden-widget-1y
         data-rss-url="https://your-blog.tistory.com/rss"
         data-title="1λ…„ ν™œλ™ 기둝">
    </div>
</div>

<script src="https://unpkg.com/blog-garden-widget@latest/blog-garden-widget-1y.js"></script>

πŸ“š 더 μžμ„Έν•œ 정보