|
1 | 1 | # Plataformatec Farewell Site |
2 | 2 |
|
3 | | -A static website announcing the closure of [Plataformatec](https://plataformatec.com) and showcasing what the founders are doing next. |
| 3 | +A static page announcing the closure of [Plataformatec](https://plataformatec.com) and showcasing what the founders are doing next. |
4 | 4 |
|
5 | 5 | ## About |
6 | 6 |
|
7 | | -Plataformatec was a software consultancy founded in Brazil, known for creating the [Elixir programming language](https://elixir-lang.org/) and contributing significantly to the Ruby and Elixir ecosystems. In January 2020, the company was acqui-hired by [Nubank](https://nubank.com.br/). This farewell page announces the closure and showcases what the founders are doing next. |
| 7 | +Plataformatec was a software consultancy founded in Brazil, known for creating the [Elixir programming language](https://elixir-lang.org/) and contributing significantly to the Ruby and Elixir ecosystems. In January 2020, the company was acqui-hired by [Nubank](https://nubank.com.br/). |
8 | 8 |
|
9 | 9 | ## Tech Stack |
10 | 10 |
|
11 | | -- **Framework:** [Gatsby](https://www.gatsbyjs.com/) 5.x (React-based static site generator) |
12 | | -- **Language:** TypeScript |
13 | | -- **Styling:** [Tailwind CSS](https://tailwindcss.com/) 3.x |
14 | | -- **Deployment:** GitHub Pages (automated via GitHub Actions) |
15 | | - |
16 | | -## Prerequisites |
17 | | - |
18 | | -- **Node.js** 20.x or higher (project uses Node 23.11.1 via `.tool-versions`) |
19 | | -- **npm** (comes with Node.js) |
20 | | - |
21 | | -If you use [asdf](https://asdf-vm.com/) or [mise](https://mise.jdx.dev/), the correct Node version will be automatically selected. |
22 | | - |
23 | | -## Getting Started |
24 | | - |
25 | | -### 1. Clone the repository |
26 | | - |
27 | | -```bash |
28 | | -git clone https://github.com/plataformatec/ptec-farewell-page.git |
29 | | -cd ptec-farewell-page |
30 | | -``` |
31 | | - |
32 | | -### 2. Install dependencies |
33 | | - |
34 | | -```bash |
35 | | -npm install |
36 | | -``` |
37 | | - |
38 | | -### 3. Start the development server |
39 | | - |
40 | | -```bash |
41 | | -npm run develop |
42 | | -``` |
43 | | - |
44 | | -The site will be available at **http://localhost:8000** |
45 | | - |
46 | | -GraphQL playground is available at http://localhost:8000/___graphql |
47 | | - |
48 | | -## Available Scripts |
49 | | - |
50 | | -| Command | Description | |
51 | | -|---------|-------------| |
52 | | -| `npm run develop` | Start the development server with hot reload | |
53 | | -| `npm start` | Alias for `npm run develop` | |
54 | | -| `npm run build` | Build the site for production | |
55 | | -| `npm run serve` | Serve the production build locally | |
56 | | -| `npm run clean` | Clear Gatsby cache and public directory | |
57 | | -| `npm run typecheck` | Run TypeScript type checking | |
| 11 | +- Plain HTML + [Tailwind CSS](https://tailwindcss.com/) (CDN) |
| 12 | +- Deployed to GitHub Pages via GitHub Actions |
58 | 13 |
|
59 | 14 | ## Project Structure |
60 | 15 |
|
61 | 16 | ``` |
62 | | -├── src/ |
63 | | -│ ├── @types/ # TypeScript type declarations |
64 | | -│ ├── images/ # Image assets (logos, photos) |
65 | | -│ ├── pages/ # Page components |
66 | | -│ │ ├── index.tsx # Main landing page |
67 | | -│ │ └── 404.tsx # 404 error page |
68 | | -│ └── styles/ |
69 | | -│ └── global.css # Global styles with Tailwind |
70 | | -├── static/ # Static assets served as-is |
71 | | -├── .github/ |
72 | | -│ └── workflows/ |
73 | | -│ └── gatsby.yml # CI/CD pipeline for GitHub Pages |
74 | | -├── gatsby-config.ts # Gatsby configuration |
75 | | -├── gatsby-browser.js # Browser-specific Gatsby config |
76 | | -├── tailwind.config.js # Tailwind CSS configuration |
77 | | -├── postcss.config.js # PostCSS configuration |
78 | | -└── tsconfig.json # TypeScript configuration |
| 17 | +├── index.html # The entire site |
| 18 | +├── images/ # Logos and photos |
| 19 | +├── .github/workflows/ |
| 20 | +│ └── deploy.yml # Deploy to GitHub Pages on push |
| 21 | +└── .nojekyll # Skip Jekyll processing |
79 | 22 | ``` |
80 | 23 |
|
81 | 24 | ## Deployment |
82 | 25 |
|
83 | | -### Automatic Deployment (GitHub Pages) |
84 | | - |
85 | | -The site is automatically deployed to GitHub Pages when changes are pushed to the `main` branch. |
86 | | - |
87 | | -The deployment workflow (`.github/workflows/gatsby.yml`): |
88 | | -1. Checks out the code |
89 | | -2. Sets up Node.js 20 |
90 | | -3. Installs dependencies |
91 | | -4. Builds the site with Gatsby |
92 | | -5. Deploys to GitHub Pages |
93 | | - |
94 | | -### Manual Deployment |
95 | | - |
96 | | -To build the site manually for deployment elsewhere: |
97 | | - |
98 | | -```bash |
99 | | -# Build the production site |
100 | | -npm run build |
101 | | - |
102 | | -# The static files will be in the `public/` directory |
103 | | -``` |
104 | | - |
105 | | -You can then deploy the contents of the `public/` directory to any static hosting service like: |
106 | | -- Netlify |
107 | | -- Vercel |
108 | | -- AWS S3 + CloudFront |
109 | | -- Any web server capable of serving static files |
110 | | - |
111 | | -### Preview Production Build Locally |
112 | | - |
113 | | -```bash |
114 | | -npm run build |
115 | | -npm run serve |
116 | | -``` |
117 | | - |
118 | | -The production build will be available at **http://localhost:9000** |
119 | | - |
120 | | -## Configuration |
121 | | - |
122 | | -### Site Metadata |
123 | | - |
124 | | -Site metadata is configured in `gatsby-config.ts`: |
125 | | - |
126 | | -```typescript |
127 | | -siteMetadata: { |
128 | | - title: `Plataformatec Farewell Site`, |
129 | | - siteUrl: `https://plataformatec.com`, |
130 | | -} |
131 | | -``` |
132 | | - |
133 | | -### Google Analytics |
134 | | - |
135 | | -Google Analytics is configured via `gatsby-plugin-google-gtag` in `gatsby-config.ts`. The tracking ID is `UA-8268430-16`. |
136 | | - |
137 | | -### Tailwind CSS |
138 | | - |
139 | | -Custom configuration is in `tailwind.config.js`, including the Plataformatec brand color: |
140 | | - |
141 | | -```javascript |
142 | | -colors: { |
143 | | - 'ptec-blue': '#16485B' |
144 | | -} |
145 | | -``` |
146 | | - |
147 | | -## Contributing |
148 | | - |
149 | | -1. Create a feature branch from `main` |
150 | | -2. Make your changes |
151 | | -3. Run `npm run typecheck` to ensure no TypeScript errors |
152 | | -4. Test locally with `npm run develop` |
153 | | -5. Submit a pull request |
154 | | - |
155 | | -## License |
156 | | - |
157 | | -This project is proprietary to Plataformatec. |
| 26 | +Pushes to `main` automatically deploy to GitHub Pages. No build step needed. |
0 commit comments