Repository navigation
feat: refactoring, preload video and website improvements - #113
Merged
Merged
Conversation
Comment on lines
+10
to
+40
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Install pnpm | ||
| uses: pnpm/action-setup@v4 | ||
|
|
||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 22 | ||
| cache: 'pnpm' | ||
|
|
||
| - name: Install dependencies | ||
| run: pnpm install --frozen-lockfile | ||
|
|
||
| - name: Build | ||
| run: pnpm build | ||
|
|
||
| - name: Deploy via FTPS | ||
| uses: SamKirkland/FTP-Deploy-Action@v4.4.0 | ||
| with: | ||
| server: ${{ secrets.FTP_HOST }} | ||
| username: ${{ secrets.FTP_USERNAME }} | ||
| password: ${{ secrets.FTP_PASSWORD }} | ||
| protocol: ftps | ||
| port: ${{ secrets.FTP_PORT }} | ||
| local-dir: ./.output/ | ||
| server-dir: ./ |
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved critical deployment, publication-access, and HTML-safety findings block approval.
6 open issues
Content directory missing from deployed Nitro output · New Unpublished posts remain accessible through API · New Unescaped markdown tokens enable HTML injection · New Manifest is missing application name values · New Git log section links to git status documentation · New Conclusion says ten commands instead of twelve · New
What changed in this PR
This pull request refactors Markdown/content handling and refreshes the portfolio UI with new homepage sections, video preloading, metadata, tests, and FTPS deployment.
Changes:
- Adds syntax highlighting, TOCs, Kindle highlights, and content metadata.
- Redesigns pages, layouts, navigation, and reusable components.
- Adds blog content, manifest metadata, dependency updates, and CI/CD changes.
| File | Summary |
|---|---|
tests/unit/utils/markdown.test.ts |
Expands Markdown rendering and metadata tests. |
tests/components/sections/Writing.test.ts |
Tests blog and brain sections. |
tests/components/elements/Preloader.test.ts |
Tests preloader behavior. |
src/server/utils/markdown.ts |
Adds enhanced Markdown processing. Critical: interpolated values can execute HTML/script. |
src/server/api/projects.get.ts |
Updates project metadata. |
src/app/types/index.ts |
Adds content and TOC types. |
src/app/pages/resume/index.vue |
Redesigns the resume page. |
src/app/pages/links/index.vue |
Refreshes links-page styling. |
src/app/pages/index.vue |
Adds homepage content sections. |
src/app/pages/brain/[...slug].vue |
Adds TOC support. |
src/app/pages/blog/index.vue |
Refreshes the blog listing. Critical: unpublished posts remain accessible through APIs; Moderate: date-only values can display on the wrong day. |
src/app/pages/blog/[slug].vue |
Adds images, TOC, and metadata. |
src/app/pages/about/index.vue |
Replaces the changelog with profile content. |
src/app/layouts/home.vue |
Updates skip-link layering. |
src/app/layouts/default.vue |
Updates layout spacing and overflow. |
src/app/error.vue |
Uses shared button styling. |
src/app/data/index.ts |
Adds homepage and about-page data. |
src/app/components/sections/Summary.vue |
Updates responsive container styling. |
src/app/components/sections/Skills.vue |
Adjusts the skills layout. |
src/app/components/sections/Services.vue |
Updates services styling. |
src/app/components/sections/Projects.vue |
Simplifies project cards. |
src/app/components/sections/Experiences.vue |
Updates experience styling and copy. |
src/app/components/sections/BrainNotes.vue |
Adds brain-note listings. |
src/app/components/sections/BlogPosts.vue |
Adds blog-post listings. Moderate: date-only values can display on the wrong day. |
src/app/components/layouts/Header.vue |
Updates navigation and mobile menu. |
src/app/components/layouts/Footer.vue |
Updates footer CTAs and content. |
src/app/components/elements/ThemeToggle.vue |
Updates theme-toggle effects. |
src/app/components/elements/TableOfContents.vue |
Adds a responsive TOC component. |
src/app/components/elements/Preloader.vue |
Adds video preloading. Moderate: the session marker is ignored during development. |
src/app/components/elements/Heading.vue |
Updates heading layout. |
src/app/components/elements/Chatbot.vue |
Adjusts chatbot layering and sizing. |
src/app/assets/main.css |
Adds syntax, highlight, CTA, and preloader styles. |
src/app/app.vue |
Mounts the preloader and updates SEO. |
public/site.webmanifest |
Adds PWA metadata. Moderate: application name fields are empty. |
pnpm-workspace.yaml |
Updates release exclusions. |
package.json |
Updates dependencies and tooling. |
nuxt.config.ts |
Configures color mode and favicon metadata. |
content/blog/2-git-commands.md |
Adds a Git commands article. Nits: incorrect git log link, inconsistent command count, and grammatical error. |
content/blog/1-hello-world.md |
Updates the introductory article. |
.nuxtrc |
Updates Nuxt test utilities. |
.github/workflows/deploy.yml |
Adds FTPS deployment. Critical: runtime content/ is omitted from the deployed output. |
.github/workflows/ci.yml |
Removes build artifact upload. |
Review effort: Lite
| password: ${{ secrets.FTP_PASSWORD }} | ||
| protocol: ftps | ||
| port: ${{ secrets.FTP_PORT }} | ||
| local-dir: ./.output/ |
Comment on lines
+6
to
+8
| const publishedPosts = computed(() => | ||
| (posts.value || []).filter((post) => post.published !== false) | ||
| ); |
| }, | ||
| renderer(token: { text: string; note?: string }) { | ||
| if (!token.note) { | ||
| return `<mark class="kindle-highlight">${token.text}</mark>`; |
| @@ -0,0 +1 @@ | |||
| {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} No newline at end of file | |||
|
|
||
| ## 11. `git log` | ||
|
|
||
| El diario de vida del proyecto. [git status](https://git-scm.com/docs/git-status) te muestra la lista cronológica de todos los commits que se han hecho, quién los hizo, cuándo y con qué mensaje. Es indispensable cuando necesitas buscar en qué momento exacto se introdujo un error o simplemente quieres entender la evolución del código. |
|
|
||
| Aunque la Inteligencia Artificial y las herramientas modernas pueden facilitar muchas tareas, entender estos comandos básicos te da un control total sobre tu flujo de trabajo y te prepara para cualquier situación que pueda surgir en un proyecto de desarrollo. | ||
|
|
||
| Pero en realidad, no hace falta complicarse la vida memorizando parámetros raros desde el primer día. Si dominas estos diez comandos, ya tienes lo necesario para moverte con soltura y resolver cualquier flujo de trabajo común. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



No description provided.