Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
db19f7a
Update _config.yml
DevPicon Apr 18, 2019
c471997
Update _config.yml
DevPicon Apr 18, 2019
f9bafae
Update _config.yml
DevPicon Apr 18, 2019
bc09a8d
Create 2019-02-10-constraint-layouts-01.md
DevPicon Apr 18, 2019
59906f8
Update 2019-02-10-constraint-layouts-01.md
DevPicon Apr 18, 2019
91794ee
Update 2019-02-10-constraint-layouts-01.md
DevPicon Apr 18, 2019
81f7e9c
Update 2019-02-10-android-explorando-constraintlayout-1.md
DevPicon Apr 18, 2019
3010072
Delete 2019-02-10-constraint-layouts-01.md
DevPicon Apr 18, 2019
53c713f
Update Android — Explorando ConstraintLayout (1)
DevPicon Apr 18, 2019
0d79f72
Delete 2019-02-10-android-explorando-constraintlayout-1.md
DevPicon Apr 18, 2019
1fdca98
Create 2019-02-10-android-explorando-constraintlayout-1.md
DevPicon Apr 18, 2019
e6d76d8
Create 2019-02-10-constraint-layouts-01.md
DevPicon Apr 18, 2019
7313d97
Delete _posts/2019-02-10-constraint-layouts-01.md
DevPicon Apr 18, 2019
5869377
Update 2019-02-10-android-explorando-constraintlayout-1.md
DevPicon Apr 18, 2019
4665ca7
Update about.md
DevPicon Apr 18, 2019
16ae252
Create 2019-04-23-room-persistence-library.md
DevPicon Apr 23, 2019
229d463
Create 2019-04-23-room-persistence-library.md
DevPicon Apr 23, 2019
2a404d9
Update 2019-04-23-room-persistence-library.md
DevPicon Apr 23, 2019
1784fb0
Update style.scss
DevPicon Apr 23, 2019
1e96256
Update 2019-04-23-room-persistence-library.md
DevPicon Apr 23, 2019
e8a26a6
Complete redesign: Jekyll to Next.js with modern features
DevPicon Oct 31, 2025
5e5154b
feat: add automated content update system with GitHub Actions
DevPicon Oct 31, 2025
270fb90
docs: add YouTube API quick setup guide and helper script
DevPicon Oct 31, 2025
3a59ca6
Merge pull request #19 from DevPicon/feature/redesign-2025
DevPicon Oct 31, 2025
01d19ff
feat: change workflow to create PR instead of direct push
DevPicon Oct 31, 2025
67f9bb2
chore: auto-update latest content (#20)
github-actions[bot] Oct 31, 2025
f0c46cb
chore: auto-update latest content (#21)
github-actions[bot] Oct 31, 2025
ff6b3fc
fix: change deploy workflow to trigger on master branch
DevPicon Oct 31, 2025
c52b70e
feat: remove daily schedule, keep manual workflow only
DevPicon Oct 31, 2025
b77267f
docs: complete session closure with comprehensive documentation
DevPicon Oct 31, 2025
64a71ec
feat: implement Spotify API integration
DevPicon Oct 31, 2025
eed4a8e
chore: auto-update latest content (#22)
github-actions[bot] Oct 31, 2025
6112474
docs: session closure - update all context files with Spotify integra…
DevPicon Oct 31, 2025
1b420aa
feat: add contact page with newsletter and professional info
DevPicon Nov 1, 2025
056db57
feat: add internationalization (i18n) support with Spanish/English
DevPicon Nov 1, 2025
b10d02e
docs: session closure - update all context files with i18n implementa…
DevPicon Nov 1, 2025
8625839
docs: update documentation with custom domain picon.dev
DevPicon Nov 1, 2025
3c3281e
feat: add Google Analytics 4 with GDPR cookie consent
DevPicon Nov 1, 2025
d7625a9
feat: add Privacy Policy page with GDPR compliance
DevPicon Nov 1, 2025
1aa1b6f
docs: session closure - update all AI context files with 2025-11-01 work
DevPicon Nov 1, 2025
2bf7fc5
fix: implement proper Google Consent Mode v2 with gtag.js
DevPicon Nov 1, 2025
0686316
fix: ensure gtag is properly initialized in CookieConsent
DevPicon Nov 1, 2025
110f3e2
docs: session closure - update context files with Consent Mode v2 fix
DevPicon Nov 1, 2025
756cb28
chore: auto-update latest content (#23)
github-actions[bot] Nov 10, 2025
bfb5631
feat: display 2 latest YouTube videos instead of 1
DevPicon Nov 20, 2025
51e36ea
chore: auto-update latest content (#24)
github-actions[bot] Nov 20, 2025
f0c60e5
feat: add sticky announcement banner for Golden Kodee Community Awards
DevPicon Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .env.local.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Ejemplo de archivo de configuración local
# Copia este archivo como .env.local y completa con tus valores reales
# ⚠️ NUNCA subas .env.local a Git (ya está en .gitignore)

# YouTube Data API v3
# Obtener en: https://console.cloud.google.com/
YOUTUBE_API_KEY=tu_youtube_api_key_aqui
YOUTUBE_CHANNEL_ID=tu_youtube_channel_id_aqui

# Spotify API
# Obtener en: https://developer.spotify.com/dashboard
SPOTIFY_CLIENT_ID=tu_spotify_client_id_aqui
SPOTIFY_CLIENT_SECRET=tu_spotify_client_secret_aqui

# Notas:
# - Dev.to y Medium no requieren configuración (usan APIs públicas)
# - Para producción, configura estos valores en GitHub Secrets
# - Ver GITHUB_SECRETS_SETUP.md para instrucciones detalladas
51 changes: 51 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Deploy to GitHub Pages

on:
push:
branches:
- master
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"

- name: Install dependencies
run: npm ci

- name: Build with Next.js
run: npm run build

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./out

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
104 changes: 104 additions & 0 deletions .github/workflows/update-content.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
name: Update Latest Content

on:
# Ejecución manual desde GitHub Actions tab
workflow_dispatch:

# Permisos necesarios para crear PRs y hacer commits
permissions:
contents: write
pull-requests: write

jobs:
update-content:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Update content from APIs
env:
# YouTube API (opcional - configura en GitHub Secrets)
YOUTUBE_API_KEY: ${{ secrets.YOUTUBE_API_KEY }}
YOUTUBE_CHANNEL_ID: ${{ secrets.YOUTUBE_CHANNEL_ID }}

# Spotify API (opcional - configura en GitHub Secrets)
SPOTIFY_CLIENT_ID: ${{ secrets.SPOTIFY_CLIENT_ID }}
SPOTIFY_CLIENT_SECRET: ${{ secrets.SPOTIFY_CLIENT_SECRET }}
run: npm run update:content

- name: Check for changes
id: git-check
run: |
if git diff --exit-code src/data/content.json > /dev/null; then
echo "changed=false" >> $GITHUB_OUTPUT
else
echo "changed=true" >> $GITHUB_OUTPUT
fi

- name: Create Pull Request
if: steps.git-check.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: |
chore: auto-update latest content

Updated at ${{ github.event.repository.updated_at }}

🤖 Automated update via GitHub Actions

Co-Authored-By: Armando Picón <tech.a.picon@gmail.com>
branch: auto-update-content
delete-branch: true
title: "🤖 Auto-update: Latest content from YouTube, Dev.to, and Medium"
body: |
## 📊 Automated Content Update

This PR was automatically created by GitHub Actions to update the latest content.

### 📋 Changes
- Updated `src/data/content.json` with latest content from:
- 📺 YouTube
- 🎙️ Spotify Podcast
- 📝 Dev.to
- 📰 Medium

### ✅ Review Checklist
- [ ] Verify video title and link are correct
- [ ] Verify blog post information is accurate
- [ ] Check that dates are properly formatted

**Merge this PR to update the live site with the latest content.**

---
🤖 Generated by GitHub Actions
labels: |
automated
content-update

- name: Summary
run: |
echo "## Content Update Summary 📊" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [ "${{ steps.git-check.outputs.changed }}" == "true" ]; then
echo "✅ Content was updated - PR created for review" >> $GITHUB_STEP_SUMMARY
else
echo "ℹ️ No changes detected - content is up to date" >> $GITHUB_STEP_SUMMARY
fi
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Sources Checked:" >> $GITHUB_STEP_SUMMARY
echo "- 📺 YouTube" >> $GITHUB_STEP_SUMMARY
echo "- 🎙️ Spotify Podcast" >> $GITHUB_STEP_SUMMARY
echo "- 📝 Dev.to" >> $GITHUB_STEP_SUMMARY
echo "- 📰 Medium" >> $GITHUB_STEP_SUMMARY
41 changes: 38 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,45 @@
_site
# Dependencies
node_modules/
/.pnp
.pnp.js

# Testing
/coverage

# Next.js
/.next/
/out/

# Production
/build

# Misc
.DS_Store
*.pem

# Debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Local env files
.env*.local

# Vercel
.vercel

# TypeScript
*.tsbuildinfo
next-env.d.ts

# Legacy Jekyll files
_site
.jekyll
.jekyll-metadata
.bundle
.sass-cache
Gemfile
Gemfile.lock
node_modules
package.json

# Temporary files
tmp_init/
9 changes: 0 additions & 9 deletions 404.md

This file was deleted.

Loading