Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
13d4ed2
feat(sidebar): add collapsible sidebar with smooth animation
NiallJoeMaher Jan 7, 2026
568f8ba
feat(layout): integrate collapsible sidebar into app layout
NiallJoeMaher Jan 7, 2026
aeb4c4f
feat(config): add sidebar navigation items and social link
NiallJoeMaher Jan 7, 2026
d669068
refactor(pages): update feed, home, and articles layout styling
NiallJoeMaher Jan 7, 2026
5c2331b
feat(settings): update settings page styling
NiallJoeMaher Jan 7, 2026
8f607f2
refactor(theme): simplify theme provider and remove unused nav code
NiallJoeMaher Jan 7, 2026
a992efc
refactor(ui): update link component and trending posts loading styles
NiallJoeMaher Jan 7, 2026
ee36ad9
chore(assets): add LinkedIn icon and Codú logo
NiallJoeMaher Jan 7, 2026
fedf644
chore(deps): add new script for sources
NiallJoeMaher Jan 7, 2026
3249f11
chore(db): update migration and add seed sources script
NiallJoeMaher Jan 7, 2026
55f764f
refactor(ui): add aria-labels and update layout components
NiallJoeMaher Jan 8, 2026
29d3aff
fix(e2e): update test expectations to match current UI
NiallJoeMaher Jan 8, 2026
9a66a21
feat(api): add getUserLinkBySlug endpoint and fix myScheduled query
NiallJoeMaher Jan 8, 2026
1d030d8
feat(editor): add new PostEditor component and E2E test infrastructure
NiallJoeMaher Jan 8, 2026
9878e30
feat: add link post support and UI improvements
NiallJoeMaher Jan 8, 2026
6f3e8bc
chore: misc updates and cleanup
NiallJoeMaher Jan 8, 2026
2a4f3ef
feat(e2e): enhance publish flow tests with improved wait conditions a…
NiallJoeMaher Jan 8, 2026
e50a838
style: standardize formatting and clean up whitespace across multiple…
NiallJoeMaher Jan 8, 2026
7715fcf
feat(editor): enhance CreateContent component with improved data hand…
NiallJoeMaher Jan 8, 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
4 changes: 2 additions & 2 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
node-version-file: ".nvmrc"
cache: "npm"

- name: Install dependencies
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
node-version-file: ".nvmrc"
cache: "npm"

- name: Cache Playwright browsers
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/greetings.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 'Welcome New Contributors'
name: "Welcome New Contributors"

on:
issues:
Expand All @@ -17,9 +17,9 @@ jobs:
issues: write
pull-requests: write
steps:
- name: 'Greet the contributor'
- name: "Greet the contributor"
uses: garg3133/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
issue-message: 'Hello @contributor_name, thanks for opening your first issue! Your contribution is valuable to us. The maintainers will review this issue and provide feedback as soon as possible.'
pr-message: 'Hello @contributor_name, thanks for opening your first Pull Request. The maintainers will review this Pull Request and provide feedback as soon as possible. Keep up the great work!'
issue-message: "Hello @contributor_name, thanks for opening your first issue! Your contribution is valuable to us. The maintainers will review this issue and provide feedback as soon as possible."
pr-message: "Hello @contributor_name, thanks for opening your first Pull Request. The maintainers will review this Pull Request and provide feedback as soon as possible. Keep up the great work!"
4 changes: 2 additions & 2 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ jobs:
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
node-version-file: ".nvmrc"
cache: "npm"

- name: Install dependencies
run: npm ci
Expand Down
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ For e2e tests we are using playwright

After making changes make sure that tests passes

To create a e2e test make a file in `/e2e` directory
To create a e2e test make a file in `/e2e` directory
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix article usage in grammar.

Line 123 uses "a e2e" but should use "an e2e" before vowel sounds.

📝 Proposed fix
-To create a e2e test make a file in `/e2e` directory
+To create an e2e test make a file in `/e2e` directory
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
To create a e2e test make a file in `/e2e` directory
To create an e2e test make a file in `/e2e` directory
🤖 Prompt for AI Agents
In @CONTRIBUTING.md at line 123, The phrase "To create a e2e test make a file in
`/e2e` directory" uses the wrong article; update the sentence in CONTRIBUTING.md
so the phrase reads "To create an e2e test make a file in `/e2e` directory"
(replace "a e2e" with "an e2e") to correct the grammar.


**1.** Start the codu application by typing this command:

Expand All @@ -136,7 +136,6 @@ yarn test:e2e

Read Playwright [documentation](https://playwright.dev/)


---

## Style Guide for Git Commit Messages :memo:
Expand Down
51 changes: 25 additions & 26 deletions EDITOR_SHORTCUTS.MD
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,49 @@ This guide provides an overview of the available hotkeys and shortcuts for the c

## Hotkeys

| Hotkey | Description |
|-----------------|------------------------------|
| `Tab` | Trigger shortcuts (see below)|
| `Backspace` | Select Previous word |
| `Meta+(1-6)` | Heading 1 - 6 |
| `Meta+b` | Bold |
| `Meta+i` | Italic |
| `Meta+shift+b` | Bold & Italic |
| `Meta+s` | Code Snippet |
| `Meta+shift+c` | Code Block |
| `Meta+Shift+.` | Block Quote |
| `Meta+u` | URL |
| `Meta+l` | Link |
| `Meta+Shift+i` | Image |
| Hotkey | Description |
| -------------- | ----------------------------- |
| `Tab` | Trigger shortcuts (see below) |
| `Backspace` | Select Previous word |
| `Meta+(1-6)` | Heading 1 - 6 |
| `Meta+b` | Bold |
| `Meta+i` | Italic |
| `Meta+shift+b` | Bold & Italic |
| `Meta+s` | Code Snippet |
| `Meta+shift+c` | Code Block |
| `Meta+Shift+.` | Block Quote |
| `Meta+u` | URL |
| `Meta+l` | Link |
| `Meta+Shift+i` | Image |

## How to Use Hotkeys

1. Press the meta key (windows key or mac cmd key) with the desired hotkey eg, cmd+1 to render #
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Capitalize proper noun "Windows."

"Windows" is a registered trademark and proper noun, not a common noun.

📝 Proposed fix
-1. Press the meta key (windows key or mac cmd key) with the desired hotkey eg, cmd+1 to render #
+1. Press the meta key (Windows key or Mac cmd key) with the desired hotkey eg, cmd+1 to render #
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
1. Press the meta key (windows key or mac cmd key) with the desired hotkey eg, cmd+1 to render #
1. Press the meta key (Windows key or Mac cmd key) with the desired hotkey eg, cmd+1 to render #
🧰 Tools
🪛 LanguageTool

[uncategorized] ~24-~24: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ... to Use Hotkeys 1. Press the meta key (windows key or mac cmd key) with the desired ho...

(A_WINDOWS)

🤖 Prompt for AI Agents
In @EDITOR_SHORTCUTS.MD at line 24, Update the sentence that reads "Press the
meta key (windows key or mac cmd key) with the desired hotkey eg, cmd+1 to
render #" to capitalize the proper noun "Windows" (i.e., change "windows key" to
"Windows key") and ensure "mac" is styled consistently (e.g., "Mac" or "macOS")
if desired for consistency with project style.

2. You can also highlight the word and then use the hotkey combination and for this you can double click the word or phrase or press meta+backspace a few times to highlight the required selection of text.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add hyphen to compound adjective "double-click."

Compound adjectives preceding a noun should be hyphenated per standard English conventions.

📝 Proposed fix
-2. You can also highlight the word and then use the hotkey combination and for this you can double click the word or phrase or press meta+backspace a few times to highlight the required selection of text.
+2. You can also highlight the word and then use the hotkey combination and for this you can double-click the word or phrase or press meta+backspace a few times to highlight the required selection of text.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
2. You can also highlight the word and then use the hotkey combination and for this you can double click the word or phrase or press meta+backspace a few times to highlight the required selection of text.
2. You can also highlight the word and then use the hotkey combination and for this you can double-click the word or phrase or press meta+backspace a few times to highlight the required selection of text.
🧰 Tools
🪛 LanguageTool

[grammar] ~25-~25: Use a hyphen to join words.
Context: ... combination and for this you can double click the word or phrase or press meta+b...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In @EDITOR_SHORTCUTS.MD at line 25, Update the sentence in EDITOR_SHORTCUTS.MD
to hyphenate the compound adjective by changing "double click the word" to
"double-click the word" so the phrase correctly reads "...and for this you can
double-click the word or phrase or press meta+backspace..." ensuring compound
adjective style is consistent.

3. For Links and images, select the text and then use the hotkey combination. You will be prompted for the url.


## Markdown Shortcuts

| Shortcut | Description | Example |
|----------|----------------------------------------|-------------------------------|
| `/link` | Create a link with text and URL | `[text](url)` |
| `/image` | Insert an image with alt text and URL | `![text](url)` |
| Shortcut | Description | Example |
| -------- | ------------------------------------- | -------------- |
| `/link` | Create a link with text and URL | `[text](url)` |
| `/image` | Insert an image with alt text and URL | `![text](url)` |

## Custom Tag Shortcuts

| Shortcut | Description | Example |
|---------------|------------------------------------|-------------------------------|
| `/media` | Embed a media file with src | `{% media src="url" /%}` |
| `/youtube` | Embed a YouTube video with src | `{% youtube src="url" /%}` |
| `/codepen` | Embed a CodePen project with src | `{% codepen src="url" /%}` |
| `/codesandbox`| Embed a CodeSandbox project with src | `{% codesandbox src="url" /%}`|
| Shortcut | Description | Example |
| -------------- | ------------------------------------ | ------------------------------ |
| `/media` | Embed a media file with src | `{% media src="url" /%}` |
| `/youtube` | Embed a YouTube video with src | `{% youtube src="url" /%}` |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Capitalize proper noun "YouTube."

"YouTube" is a registered trademark with specific capitalization; ensure both instances are corrected (line 40 appears twice in the table row).

📝 Proposed fix
-| `/youtube`     | Embed a YouTube video with src       | `{% youtube src="url" /%}`     |
+| `/youtube`     | Embed a YouTube video with src       | `{% YouTube src="url" /%}`     |

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~40-~40: The official name of this popular video platform is spelled with a capital “T”.
Context: ... | {% media src="url" /%} | | /youtube | Embed a YouTube video with src ...

(YOUTUBE)


[uncategorized] ~40-~40: The official name of this popular video platform is spelled with a capital “T”.
Context: ... Embed a YouTube video with src | {% youtube src="url" /%} | | /codepen |...

(YOUTUBE)

🤖 Prompt for AI Agents
In @EDITOR_SHORTCUTS.MD at line 40, Update the table row to capitalize the
proper noun "YouTube" in both places: change the command label `/youtube` to
`/YouTube` and the shortcode example `{% youtube src="url" /%}` to `{% YouTube
src="url" /%}` so both occurrences use the correct capitalization.

| `/codepen` | Embed a CodePen project with src | `{% codepen src="url" /%}` |
| `/codesandbox` | Embed a CodeSandbox project with src | `{% codesandbox src="url" /%}` |

## How to Use Shortcuts

1. Place the cursor where you want to insert the content.
2. Type the shortcut (e.g., `/link`).
3. Press the `Tab` key.
4. For Markdown shortcuts `/link` and `/image`, you'll be prompted to enter the text and URL.
5. For custom tag shortcuts, you'll be prompted to enter the URL for the `src` attribute.
5. For custom tag shortcuts, you'll be prompted to enter the URL for the `src` attribute.

The editor will automatically replace the shortcut with the corresponding content.
Loading
Loading