Skip to content

Commit

Permalink
feat: hello digest.club
Browse files Browse the repository at this point in the history
  • Loading branch information
baptadn committed Sep 8, 2023
0 parents commit 492f801
Show file tree
Hide file tree
Showing 270 changed files with 29,525 additions and 0 deletions.
14 changes: 14 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
DATABASE_URL="postgresql://saas:saas@localhost:5432/saas?schema=public"
EMAIL_FROM="Saas app <[email protected]>"
SMTP_HOST=localhost
SMTP_PORT=25
SMTP_USER=
SMTP_PASSWORD=
NODE_TLS_REJECT_UNAUTHORIZED="0"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET=RANDOMEKEY
NEXT_PUBLIC_SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=
NEXT_PUBLIC_SENTRY_DSN=https://[email protected]/xxx
TYPEFULLY_API_URL="https://api.typefully.com/v1"
JWT_SECRET="secret"
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "next/core-web-vitals"
}
29 changes: 29 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: 'run tests'
on:
push:
branches:
- web-v2
- main
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16
- name: 'Create env file'
run: |
touch .env
echo NEXTAUTH_SECRET="RANDOMEKEY" >> .env
echo JWT_SECRET="RANDOMEKEY" >> .env
cat .env
- name: Install dependencies
run: yarn install
- name: Run tests
run: yarn test:build
- name: Run build
run: yarn build
50 changes: 50 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# 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*
.pnpm-debug.log*

# local env files
.env

# vercel
.vercel

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

.mailing

# Sentry
.sentryclirc

# Sentry
next.config.original.js

# Sentry Auth Token
.sentryclirc

#Content Layer
.contentlayer
12 changes: 12 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"editorconfig": false,
"singleQuote": true,
"jsxSingleQuote": false,
"tabWidth": 2,
"semi": true,
"trailingComma": "es5",
"printWidth": 80,
"bracketSpacing": true,
"arrowParens": "always",
"quoteProps": "consistent"
}
10 changes: 10 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,

"prettier.configPath": ".prettierrc",
"prettier.useEditorConfig": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
12 changes: 12 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
docker-compose = "*"

[dev-packages]

[requires]
python_version = "3.8"
462 changes: 462 additions & 0 deletions Pipfile.lock

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## Getting Started

Install dependencies:

```bash
pipenv install
pipenv shell
yarn install
```

You can use Docker to run a local postgres database and maildev server (accessible at http://localhost:1080):

```bash
docker-compose up -d
```

Create .env:

```bash
cp .env.example .env
```

Run migrations

```bash
yarn prisma:migrate:dev
```

Run the development server:

```bash
yarn dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
28 changes: 28 additions & 0 deletions changelogs/changelog-001.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: 🎉 Introducing Typefully Integration
publishedAt: 2023-05-26
image: changelog-001.webp
---

### New Features

- **Typefully Integration**: We are excited to announce our latest feature - _Typefully_ integration! With just a single click, you can now transform your Digest into a Twitter thread (draft) using the [Typefully](https://typefully.com/) service. Simply provide us with your _Typefully_ API token, and effortlessly share your curated links with your audience on Twitter.

- **Deleting members of a Team**: Team's administrators can now delete members, by clicking on the _Delete_ button next to the member's name.

### Enhancements

- **Improved User Interface**: We have refined the user interface with an updated navigation
- **'Updates' page**: We have added a [new page](https://digest.club/updates) to keep you up-to-date with the latest changes and improvements to Digest.club.

### Get Started with Typefully Integration

To take advantage of the Typefully integration, follow these simple steps:

1. Sign up for a Typefully account at [typefully.com](https://typefully.com) and obtain your API token.
2. Navigate to the 'Settings' page of your team and enter your Typefully API token in the designated field.
3. Once your API token is saved, you will find a new 'Create Twitter Thread' option when viewing your Digest. Click on it to effortlessly transform your Digest into a draft Twitter thread.

We hope you enjoy this new features and find it valuable for sharing your technological discoveries with the world!

Thank you for choosing Digest.club, and happy digesting! 🚀
41 changes: 41 additions & 0 deletions changelogs/changelog-002.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: 📰 Newsletter
publishedAt: 2023-06-02
image: changelog-002.webp
---

### New Features

- **Newsletter**: We are excited to introduce the Newsletter feature! Teams can now send their Digests to all their subscribers in the form of a newsletter. Users can now stay connected with the latest curated links and updates from their favorite teams right in their inbox.

### Enhancements

- **Subscription Form**: We have added a subscription form to the digest's public page and the team's public page. Visitors can now easily subscribe to receive newsletters from their preferred teams.
- **Subscriber Management**: Team administrators can see a list of their subscribers in the team's settings page, under the _Newsletter_ tab.

### Getting Started with Newsletters

To start receiving newsletters, follow these simple steps:

1. Visit the public digest page or the public digests page of the team you wish to subscribe to.
2. Fill out the subscription form with your email address and click **Subscribe**.
3. Sit back and enjoy receiving curated Digests from your subscribed teams directly in your inbox!

### Sending Newsletters

Team members can send newsletters to their subscribers through the following steps:

1. Go to the Digest builder page.
2. Click on the **Send Newsletter** button.
3. Confirm your choice to send the newsletter, and you are done ! _You can only send a newsletter once._

### Unsubscribing from Newsletters

To unsubscribe from a team's newsletter, follow these steps:

1. Open any email received from the team's newsletter.
2. Scroll to the bottom of the email and click the **unsubscribe** link.

We hope you find the Newsletter feature helpful in staying up-to-date with your favorite team's digests. Happy reading!

Thank you for choosing Digest.club, and happy digesting! 🚀
43 changes: 43 additions & 0 deletions changelogs/changelog-003.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: 🖊️ Introducing Text block
publishedAt: 2023-06-07
image: changelog-003.webp
---

### New Features

- **Text Block**: We are thrilled to introduce the text block feature! You can now add text blocks that support **markdown** formatting to your Digests. Customize your content with headings, lists, links, emphasis, and more to create rich and engaging Digests.

### Getting Started with Markdown Blocks

To start using the Markdown Block feature, follow these simple steps:

1. Open the Digest builder for the Digest you wish to edit or create a new Digest.
2. Click on the ellipsis (`...`) button in the top right corner of a block to open the block menu.
3. Then, click on the **Add text block after** button.
4. Start writing or paste your markdown content into the block editor.
5. Save your changes, and the markdown block will be added to your Digest.

### Markdown Syntax Guide

Use familiar markdown syntax to format your text within the new text block:

- Headings: Use hashtags (`#`) for different heading levels.
- Lists: Create ordered lists using numbers or unordered lists using dashes (`-`) or asterisks (`*`).
- Links: Enclose the link text in square brackets (`[]`) followed by the URL in parentheses (`()`).
- Emphasis: Add emphasis to text using asterisks (`*`) or underscores (`_`).
- Code: Wrap code snippets with backticks (\```) to preserve their formatting.
- And more: Explore additional markdown syntax options for formatting your content.

### Tips for effective use of text blocks

Here are a few tips to make the most out of text blocks in your Digests:

1. Use headings to create clear sections and structure within your Digest.
2. Format important information or highlights using emphasis or bullet points.
3. Incorporate links to external resources or relevant articles to provide additional context.
4. Experiment with different markdown features to make your Digests visually appealing and easy to read.

Please keep in mind that Markdown blocks cannot be converted to tweet. As a result, they will not be compatible with thread generation via _Typefully_

Thank you for choosing Digest.club, and happy digesting! 🚀
49 changes: 49 additions & 0 deletions changelogs/changelog-004.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: 🚀 Introducing API for bookmarking
publishedAt: 2023-06-15
image: changelog-004.webp
---

### New Features

- **API for Bookmarking**: We are happy to announce the introduction of our first API endpoint dedicated to adding bookmarks. Now, you can seamlessly integrate bookmarking functionality into your workflows using our API with your **API key**.

### Getting your Team's API Key

To generate an **API key**, follow these simple steps:

1. Go to the "Settings" page of your team in [digest.club](https://digest.club/).
2. Click on "Create New" to generate a new API key.
3. The API key will be generated, and you can copy it to your clipboard by clicking on the icon in the input.

### Adding a Bookmark via API

To add a bookmark via the API, make an HTTP **POST** request to this endpoint: _/api/bookmark_.

Include the bookmark URL in the request body under the **linkUrl** field. Additionally, to authenticate yourself with the API, pass the API key in the _"Authorization"_ header with the _"Bearer "_ prefix.

```
Method: POST
Endpoint: https://www.digest.club/api/bookmark
Headers:
- Authorization: Bearer YOUR_API_KEY
Body:
{
"linkUrl": "https://www.example.com"
}
```

Here's an example using cURL:

```bash
curl -X POST https://www.digest.club/api/bookmark \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "linkUrl=https://www.example.com"
```

## Integration Possibilities

The API for Bookmarking opens up possibilities for integrating Digest.club into your workflows. Whether you want to automate bookmarking or sync Digests with other platforms, the API provides the flexibility you need.

Happy digesting! 🚀
21 changes: 21 additions & 0 deletions changelogs/changelog-005.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: 🐦 Tweet / X Embeds
publishedAt: 2023-08-21
image: changelog-005.webp
---

### New Feature

- **Tweet / X Embeds**: We are introducing the ability to display tweets in an "embed" format within a Digest! When editing a Digest, click on the ellipsis icon of the tweet's block and select the "Tweet" option from the block style. This feature is only available for tweet bookmark.

### Enhancements

- **Default Image for URLs**: Bookmarks without open-graph images will now display a default image with the site's title and favicon. This enhancement ensures a visually consistent experience for your content.

- **Performance Improvements**: We've implemented several performance enhancements on the page displaying a team's Digests, ensuring faster load times.

### Bug Fixes

- **Twitter Link Import Bug Fix**: We've resolved the bug that was previously blocking the import of Twitter links.

- **Various Bug Fixes**: We've addressed various bugs and issues throughout the application, ensuring a more stable and reliable experience.
20 changes: 20 additions & 0 deletions contentlayer.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// contentlayer.config.ts
import { defineDocumentType, makeSource } from '@contentlayer/source-files';

export const Changelog = defineDocumentType(() => ({
name: 'Changelog',
filePathPattern: `**/*.md`,
fields: {
title: { type: 'string', required: true },
publishedAt: { type: 'date', required: true },
image: {
type: 'string',
required: false,
},
},
}));

export default makeSource({
contentDirPath: 'changelogs',
documentTypes: [Changelog],
});
Loading

0 comments on commit 492f801

Please sign in to comment.