davidgasquez commited on
Commit
2934c50
1 Parent(s): 22f4652

feat: 🌐 Setup website build and deployment workflows

Browse files

- Added CI jobs for building and deploying the website using GitHub Actions.
- Introduced steps for checkout, Node.js setup, and artifact upload for GitHub Pages.
- Created new files for web project: `.gitignore`, `observablehq.config.js`, `package-lock.json`, `package.json`, and several in `src/`.
- Configured project dependencies and scripts in `package.json` for Observable framework and D3.
- Added initial content and structure for the `index.md` page.

.github/workflows/ci.yml CHANGED
@@ -13,6 +13,7 @@ concurrency:
13
  cancel-in-progress: true
14
 
15
  jobs:
 
16
  run:
17
  name: Run
18
  runs-on: ubuntu-latest
@@ -28,3 +29,40 @@ jobs:
28
  - name: Run
29
  run: |
30
  make run
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  cancel-in-progress: true
14
 
15
  jobs:
16
+ # Run the ETL pipeline
17
  run:
18
  name: Run
19
  runs-on: ubuntu-latest
 
29
  - name: Run
30
  run: |
31
  make run
32
+
33
+ # Build and upload the website
34
+ upload:
35
+ name: Upload Pages
36
+ runs-on: ubuntu-latest
37
+ permissions:
38
+ contents: read
39
+ deployments: write
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+ - uses: actions/setup-node@v4
43
+ with:
44
+ node-version: 20
45
+ cache: npm
46
+ - run: npm ci
47
+ - run: npm run build --prefix ./web
48
+ - name: Upload Pages Artifact
49
+ uses: actions/upload-pages-artifact@v3
50
+ with:
51
+ path: web/dist
52
+
53
+ # Deploy the website
54
+ deploy:
55
+ needs: upload
56
+ permissions:
57
+ pages: write
58
+ id-token: write
59
+
60
+ environment:
61
+ name: github-pages
62
+ url: ${{ steps.deployment.outputs.page_url }}
63
+
64
+ runs-on: ubuntu-latest
65
+ steps:
66
+ - name: Deploy to GitHub Pages
67
+ id: deployment
68
+ uses: actions/deploy-pages@v4
web/.gitignore ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ .DS_Store
2
+ /dist/
3
+ node_modules/
4
+ yarn-error.log
web/observablehq.config.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export default {
2
+ title: "Datalia",
3
+ head: '<link rel="icon" href="favicon.png" type="image/png">',
4
+ root: "src",
5
+ theme: ["air"],
6
+ header: null,
7
+ footer: "Built with ❤️ by David",
8
+ sidebar: false,
9
+ toc: false,
10
+ pager: false,
11
+ search: false,
12
+ linkify: true,
13
+ typographer: false
14
+ };
web/package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
web/package.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "type": "module",
3
+ "private": true,
4
+ "scripts": {
5
+ "clean": "rimraf src/.observablehq/cache",
6
+ "build": "observable build",
7
+ "dev": "observable preview",
8
+ "deploy": "observable deploy",
9
+ "observable": "observable"
10
+ },
11
+ "dependencies": {
12
+ "@observablehq/framework": "^1.11.0",
13
+ "d3-dsv": "^3.0.1",
14
+ "d3-time-format": "^4.1.0"
15
+ },
16
+ "devDependencies": {
17
+ "rimraf": "^5.0.5"
18
+ },
19
+ "engines": {
20
+ "node": ">=18"
21
+ }
22
+ }
web/src/.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ /.observablehq/cache/
web/src/favicon.png ADDED
web/src/index.md ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Datalia
2
+
3
+ Datalia es una plataforma de datos abiertos a nivel de España con el objetivo de unificar y armonizar información proveniente de diferentes fuentes.
4
+
5
+ ## Datasets
6
+
7
+ Gracias a la colaboración de la comunidad, Datalia ofrece una variedad de conjuntos de datos. A continuación, se muestran algunos de los conjuntos de datos disponibles.
8
+
9
+ <div class="card">
10
+
11
+ ## IPC
12
+
13
+ El Índice de Precios al Consumo (IPC) es un indicador que mide la evolución de los precios de una cesta de bienes y servicios representativa del consumo de los hogares.
14
+
15
+ <iframe
16
+ src="https://huggingface.co/datasets/datonic/spain_ipc/embed/viewer/default/train"
17
+ frameborder="0"
18
+ width="100%"
19
+ height="560px"
20
+ ></iframe>
21
+
22
+ </div>