diff --git a/.ask/.gitignore b/.ask/.gitignore new file mode 100644 index 0000000..8297179 --- /dev/null +++ b/.ask/.gitignore @@ -0,0 +1,4 @@ +build +secrets.json +secrets.*.json +!secrets.sample.json \ No newline at end of file diff --git a/.ask/Makefile b/.ask/Makefile new file mode 100644 index 0000000..13fce51 --- /dev/null +++ b/.ask/Makefile @@ -0,0 +1,93 @@ +ASK_VERSION := "0.0.5" + +DOCKER_SWARM_STACK_NAME := $(shell cat .ask/NAME) + +MAKEFILE_PATH := ".ask/Makefile" + + +.PHONY: help +# Show help +help: + @cat $(MAKEFILE_LIST) | docker run --rm -i xanders/make-help + +.PHONY: reload-makefile +# Reload Makefile from latest Ask version +reload-makefile: + curl -o $(MAKEFILE_PATH) https://raw.githubusercontent.com/ask-ell/ask/refs/heads/release/types/node/Makefile + +.PHONY: requirements-get +# Get requirements +requirements-get: + @echo "Requirements" + @echo "Make : https://www.gnu.org/software/make/manual/make.html" + @echo "Node : https://nodejs.org/" + @echo "NPM : https://www.npmjs.com/" + @echo "Docker : https://docker.com/" + +.ask/secrets.json: + cp -r .ask/secrets.sample.json .ask/secrets.json + + +compose := docker compose --file .ask/compose.yml +run := $(compose) run --rm front-end +packageManager := $(run) npm +packageManagerRun := $(packageManager) run + +.PHONY: install +# Install dependencies +install: + $(packageManager) install + date > node_modules/last_install + +node_modules/last_install: + @make -f $(MAKEFILE_PATH) install + +.PHONY: build +# Build project +build: node_modules/last_install + $(packageManagerRun) build + mkdir -p .ask/build + date > .ask/build/last_build + +.ask/build/last_build: + @make -f $(MAKEFILE_PATH) build + +.PHONY: serve +# Run services in development mode +serve: .ask/secrets.json node_modules/last_install + $(compose) up -d + +.PHONY: format +# Format project +format: + $(packageManagerRun) format + +.PHONY: lint +# Format project +lint: + $(packageManagerRun) lint + +.PHONY: test +# Run tests +test: node_modules/last_install + $(packageManagerRun) test + +.PHONY: test-watch +# Run tests in watch mode +test-watch: node_modules/last_install + $(packageManagerRun) test:watch + +.PHONY: clean +# Stop and clean services +clean: + $(compose) down --volumes + +.PHONY: deploy +# Deploy services in Docker Swarm +deploy: .ask/secrets.json + docker stack deploy -c .ask/swarm.yml --with-registry-auth --resolve-image always $(DOCKER_SWARM_STACK_NAME) + +.PHONY: undeploy +# Undeploy services in Docker Swarm +undeploy: .ask/secrets.json + docker stack rm $(DOCKER_SWARM_STACK_NAME) \ No newline at end of file diff --git a/.ask/NAME b/.ask/NAME new file mode 100644 index 0000000..7792237 --- /dev/null +++ b/.ask/NAME @@ -0,0 +1 @@ +ask-ell_innovation_website \ No newline at end of file diff --git a/.ask/compose.yml b/.ask/compose.yml new file mode 100644 index 0000000..2b079a9 --- /dev/null +++ b/.ask/compose.yml @@ -0,0 +1,32 @@ +# TODO: https://ask-ell.atlassian.net/browse/ASK-3 + +networks: + default: + driver: "bridge" + +secrets: + ask: + file: secrets.json + +volumes: + source: + driver: local + driver_opts: + type: none + o: bind + device: $PWD + +services: + front-end: + image: node:20.19.2 + networks: + - default + user: node + working_dir: /home/node/workspace + volumes: + - source:/home/node/workspace + ports: + - "4321:4321" + secrets: + - ask + command: npm run start:dev -- --host \ No newline at end of file diff --git a/.ask/config/front-end/Dockerfile b/.ask/config/front-end/Dockerfile new file mode 100644 index 0000000..9e385bb --- /dev/null +++ b/.ask/config/front-end/Dockerfile @@ -0,0 +1,9 @@ +FROM nginx:alpine3.21 + +WORKDIR /usr/share/nginx/html + +COPY ./dist . + +COPY .ask/config/front-end/default.conf /etc/nginx/conf.d/default.conf + +EXPOSE 80 diff --git a/.ask/config/front-end/default.conf b/.ask/config/front-end/default.conf new file mode 100644 index 0000000..188655b --- /dev/null +++ b/.ask/config/front-end/default.conf @@ -0,0 +1,16 @@ +server { + listen 80; + listen [::]:80; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html; + try_files $uri /index.html; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} \ No newline at end of file diff --git a/.ask/secrets.sample.json b/.ask/secrets.sample.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.ask/secrets.sample.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.ask/swarm.yml b/.ask/swarm.yml new file mode 100644 index 0000000..950940e --- /dev/null +++ b/.ask/swarm.yml @@ -0,0 +1,86 @@ +networks: + default: + driver: "overlay" + +secrets: + ask: + file: secrets.json + +services: + code-repository-plugin: + image: registry.gitlab.com/ask-ell/innovation/factory/code-repository-plugin:develop + networks: + - default + ports: + - "40001:10000" + secrets: + - ask + + general-plugin: + image: registry.gitlab.com/ask-ell/innovation/factory/general-plugin:develop + networks: + - default + ports: + - "40003:3000" + secrets: + - ask + + hosting-plugin: + image: registry.gitlab.com/ask-ell/innovation/factory/hosting-plugin:develop + networks: + - default + ports: + - "40004:4000" + secrets: + - ask + user: root + volumes: + - /var/run/docker.sock:/var/run/docker.sock + + plugins-manager: + image: registry.gitlab.com/ask-ell/innovation/factory/plugins-manager:develop + networks: + - default + ports: + - "40008:8000" + secrets: + - ask + + proxy-plugin: + image: registry.gitlab.com/ask-ell/innovation/factory/proxy-plugin:develop + networks: + - default + ports: + - "40005:5000" + secrets: + - ask + + proxy: + image: registry.gitlab.com/ask-ell/innovation/factory/proxy:develop + networks: + - default + ports: + - target: 8080 + published: 80 + protocol: tcp + mode: host + secrets: + - ask + + pwa: + image: registry.gitlab.com/ask-ell/innovation/factory/pwa:develop + networks: + - default + ports: + - "40006:80" + secrets: + - ask + + security-plugin: + image: registry.gitlab.com/ask-ell/innovation/factory/security-plugin:develop + networks: + - default + ports: + - 40007:7000 + secrets: + - ask \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3ebe83d..863a7da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,10 @@ "devDependencies": { "astro": "^5.17.1", "sass": "^1.97.3" + }, + "engines": { + "node": "20.19.2", + "npm": "10.8.2" } }, "node_modules/@astrojs/compiler": { @@ -4762,7 +4766,6 @@ "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -4808,7 +4811,6 @@ "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -5502,7 +5504,6 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -5712,7 +5713,6 @@ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index 36c68b9..e9e7ab5 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,10 @@ "start:dev": "astro dev", "build": "astro build" }, + "engines": { + "node": "20.19.2", + "npm": "10.8.2" + }, "devDependencies": { "astro": "^5.17.1", "sass": "^1.97.3" diff --git a/public/images/ask-ell-ask-screenshot.png b/public/images/ask-ell-ask-screenshot.png new file mode 100644 index 0000000..8d96da1 Binary files /dev/null and b/public/images/ask-ell-ask-screenshot.png differ diff --git a/public/images/ask-ell-business-products-development-service.jpg b/public/images/ask-ell-business-products-development-service.jpg new file mode 100644 index 0000000..55c61b5 Binary files /dev/null and b/public/images/ask-ell-business-products-development-service.jpg differ diff --git a/public/images/chess-memo-screenshot-3.png b/public/images/ask-ell-chess-memo-screenshot.png similarity index 100% rename from public/images/chess-memo-screenshot-3.png rename to public/images/ask-ell-chess-memo-screenshot.png diff --git a/public/images/ask-ell-consulting-service.jpg b/public/images/ask-ell-consulting-service.jpg new file mode 100644 index 0000000..8741504 Binary files /dev/null and b/public/images/ask-ell-consulting-service.jpg differ diff --git "a/public/images/ask-ell-fait-gagner-en-confiance-et-en-productivit\303\251.jpg" "b/public/images/ask-ell-fait-gagner-en-confiance-et-en-productivit\303\251.jpg" deleted file mode 100644 index de6afeb..0000000 Binary files "a/public/images/ask-ell-fait-gagner-en-confiance-et-en-productivit\303\251.jpg" and /dev/null differ diff --git a/public/images/ask-ell-formula-screenshot.png b/public/images/ask-ell-formula-screenshot.png new file mode 100644 index 0000000..cb41afb Binary files /dev/null and b/public/images/ask-ell-formula-screenshot.png differ diff --git a/public/images/ask-ell-logo-icon.jpg b/public/images/ask-ell-logo-icon.jpg new file mode 100644 index 0000000..49a7ddc Binary files /dev/null and b/public/images/ask-ell-logo-icon.jpg differ diff --git a/public/images/ask-ell-logo-medium-size.jpg b/public/images/ask-ell-logo-medium-size.jpg new file mode 100644 index 0000000..95656b3 Binary files /dev/null and b/public/images/ask-ell-logo-medium-size.jpg differ diff --git a/public/images/ask-ell-logo-second-version.jpg b/public/images/ask-ell-logo-second-version.jpg deleted file mode 100644 index eb4037e..0000000 Binary files a/public/images/ask-ell-logo-second-version.jpg and /dev/null differ diff --git a/public/images/ask-ell-logo.png b/public/images/ask-ell-logo.png deleted file mode 100644 index 105b832..0000000 Binary files a/public/images/ask-ell-logo.png and /dev/null differ diff --git a/public/images/ask-ell-music-scale-generator-screenshot.png b/public/images/ask-ell-music-scale-generator-screenshot.png new file mode 100644 index 0000000..86b59cc Binary files /dev/null and b/public/images/ask-ell-music-scale-generator-screenshot.png differ diff --git a/public/images/ask-ell-nest-screenshot.png b/public/images/ask-ell-nest-screenshot.png deleted file mode 100644 index f6c2681..0000000 Binary files a/public/images/ask-ell-nest-screenshot.png and /dev/null differ diff --git a/public/images/ask-ell-open-source-products-delivery-service.jpg b/public/images/ask-ell-open-source-products-delivery-service.jpg new file mode 100644 index 0000000..6265fd5 Binary files /dev/null and b/public/images/ask-ell-open-source-products-delivery-service.jpg differ diff --git a/public/images/ask-ell-planned-session-large-size-screenshot.png b/public/images/ask-ell-planned-session-large-size-screenshot.png new file mode 100644 index 0000000..52a2b94 Binary files /dev/null and b/public/images/ask-ell-planned-session-large-size-screenshot.png differ diff --git a/public/images/ask-ell-planned-session-small-size-screenshot.png b/public/images/ask-ell-planned-session-small-size-screenshot.png new file mode 100644 index 0000000..c82e095 Binary files /dev/null and b/public/images/ask-ell-planned-session-small-size-screenshot.png differ diff --git a/public/images/ask-ell-project-incubation-service.jpg b/public/images/ask-ell-project-incubation-service.jpg new file mode 100644 index 0000000..1459d3e Binary files /dev/null and b/public/images/ask-ell-project-incubation-service.jpg differ diff --git "a/public/images/ask-ell-propose-des-m\303\251thodes-valid\303\251es-par-la-litt\303\251rature-scientifique.jpg" "b/public/images/ask-ell-propose-des-m\303\251thodes-valid\303\251es-par-la-litt\303\251rature-scientifique.jpg" deleted file mode 100644 index 6f53f5e..0000000 Binary files "a/public/images/ask-ell-propose-des-m\303\251thodes-valid\303\251es-par-la-litt\303\251rature-scientifique.jpg" and /dev/null differ diff --git a/public/images/ask-ell-scripts-screenshot.png b/public/images/ask-ell-scripts-screenshot.png new file mode 100644 index 0000000..1baf8ed Binary files /dev/null and b/public/images/ask-ell-scripts-screenshot.png differ diff --git a/public/images/ask-ell-solid-principles-examples.png b/public/images/ask-ell-solid-principles-examples-screenshot.png similarity index 100% rename from public/images/ask-ell-solid-principles-examples.png rename to public/images/ask-ell-solid-principles-examples-screenshot.png diff --git a/public/images/ask-ell-stacks-screenshot.png b/public/images/ask-ell-stacks-screenshot.png new file mode 100644 index 0000000..17436ce Binary files /dev/null and b/public/images/ask-ell-stacks-screenshot.png differ diff --git a/public/images/ask-ell-talks-service.jpg b/public/images/ask-ell-talks-service.jpg new file mode 100644 index 0000000..60cd3d7 Binary files /dev/null and b/public/images/ask-ell-talks-service.jpg differ diff --git a/public/images/ask-ell-website-screenshot.png b/public/images/ask-ell-website-screenshot.png new file mode 100644 index 0000000..402b4cf Binary files /dev/null and b/public/images/ask-ell-website-screenshot.png differ diff --git a/public/images/business-products-development-service.jpg b/public/images/business-products-development-service.jpg deleted file mode 100644 index 004a1ec..0000000 Binary files a/public/images/business-products-development-service.jpg and /dev/null differ diff --git a/public/images/chess-memo-screenshot-1.png b/public/images/chess-memo-screenshot-1.png deleted file mode 100644 index 6b87567..0000000 Binary files a/public/images/chess-memo-screenshot-1.png and /dev/null differ diff --git a/public/images/chess-memo-screenshot-2.png b/public/images/chess-memo-screenshot-2.png deleted file mode 100644 index 80af35f..0000000 Binary files a/public/images/chess-memo-screenshot-2.png and /dev/null differ diff --git a/public/images/chess-memo-screenshot-4.png b/public/images/chess-memo-screenshot-4.png deleted file mode 100644 index 88bcd82..0000000 Binary files a/public/images/chess-memo-screenshot-4.png and /dev/null differ diff --git a/public/images/consulting-service.jpg b/public/images/consulting-service.jpg deleted file mode 100644 index 122ffad..0000000 Binary files a/public/images/consulting-service.jpg and /dev/null differ diff --git a/public/images/manque-de-confiance-en-les-prestataires-en-developpement-logiciel.jpg b/public/images/manque-de-confiance-en-les-prestataires-en-developpement-logiciel.jpg deleted file mode 100644 index 9e7bd42..0000000 Binary files a/public/images/manque-de-confiance-en-les-prestataires-en-developpement-logiciel.jpg and /dev/null differ diff --git a/public/images/open-source-products-delivery-service.jpg b/public/images/open-source-products-delivery-service.jpg deleted file mode 100644 index f3a9365..0000000 Binary files a/public/images/open-source-products-delivery-service.jpg and /dev/null differ diff --git a/public/images/planned-session-screenshot-1.png b/public/images/planned-session-screenshot-1.png deleted file mode 100644 index 40c459f..0000000 Binary files a/public/images/planned-session-screenshot-1.png and /dev/null differ diff --git a/public/images/planned-session-screenshot-2.png b/public/images/planned-session-screenshot-2.png deleted file mode 100644 index 7f88b5a..0000000 Binary files a/public/images/planned-session-screenshot-2.png and /dev/null differ diff --git a/public/images/planned-session-screenshot-3.png b/public/images/planned-session-screenshot-3.png deleted file mode 100644 index cd56b5f..0000000 Binary files a/public/images/planned-session-screenshot-3.png and /dev/null differ diff --git a/public/images/planned-session-screenshot-4.png b/public/images/planned-session-screenshot-4.png deleted file mode 100644 index db2e6cd..0000000 Binary files a/public/images/planned-session-screenshot-4.png and /dev/null differ diff --git a/public/images/planned-session-screenshot-5.png b/public/images/planned-session-screenshot-5.png deleted file mode 100644 index 2e68188..0000000 Binary files a/public/images/planned-session-screenshot-5.png and /dev/null differ diff --git a/public/images/planned-session-screenshot-6.png b/public/images/planned-session-screenshot-6.png deleted file mode 100644 index 38457ba..0000000 Binary files a/public/images/planned-session-screenshot-6.png and /dev/null differ diff --git a/public/images/project-incubation-service.jpg b/public/images/project-incubation-service.jpg deleted file mode 100644 index 315559d..0000000 Binary files a/public/images/project-incubation-service.jpg and /dev/null differ diff --git a/public/images/takamouv-extention-navigateur-screenshot.png b/public/images/takamouv-extention-navigateur-screenshot.png deleted file mode 100644 index 2f40bcb..0000000 Binary files a/public/images/takamouv-extention-navigateur-screenshot.png and /dev/null differ diff --git a/public/images/talks-service.jpg b/public/images/talks-service.jpg deleted file mode 100644 index 357d4a6..0000000 Binary files a/public/images/talks-service.jpg and /dev/null differ diff --git a/public/images/yannick-debree-in-holidays.jpeg b/public/images/yannick-debree-in-holidays.jpeg deleted file mode 100644 index 9ba4685..0000000 Binary files a/public/images/yannick-debree-in-holidays.jpeg and /dev/null differ diff --git "a/public/images/yannick-debr\303\251e-ask-ell-founder-holiday-image.jpeg" "b/public/images/yannick-debr\303\251e-ask-ell-founder-holiday-image.jpeg" deleted file mode 100644 index b495635..0000000 Binary files "a/public/images/yannick-debr\303\251e-ask-ell-founder-holiday-image.jpeg" and /dev/null differ diff --git "a/public/images/yannick-debr\303\251e-ask-ell-founder-second-image.jpeg" "b/public/images/yannick-debr\303\251e-ask-ell-founder-second-image.jpeg" deleted file mode 100644 index 6aa77b4..0000000 Binary files "a/public/images/yannick-debr\303\251e-ask-ell-founder-second-image.jpeg" and /dev/null differ diff --git "a/public/images/yannick-debr\303\251e-ask-ell-founder.jpeg" "b/public/images/yannick-debr\303\251e-ask-ell-founder.jpeg" deleted file mode 100644 index 6f46e7b..0000000 Binary files "a/public/images/yannick-debr\303\251e-ask-ell-founder.jpeg" and /dev/null differ diff --git a/src/components/banner.astro b/src/components/banner.astro index cb4561e..513e8a4 100644 --- a/src/components/banner.astro +++ b/src/components/banner.astro @@ -5,6 +5,5 @@ const { title } = Astro.props;

{title}

-
diff --git a/src/components/footer.astro b/src/components/footer.astro index a554a32..5cc4aa2 100644 --- a/src/components/footer.astro +++ b/src/components/footer.astro @@ -8,19 +8,21 @@ import Links from "./links.astro"; - + + - \ No newline at end of file diff --git a/src/pages/about/index.astro b/src/pages/about/index.astro index 89d36fe..567d87f 100644 --- a/src/pages/about/index.astro +++ b/src/pages/about/index.astro @@ -1,11 +1,40 @@ --- -import WipAlert from "../../components/wip-alert.astro"; import BaseLayout from "../../layouts/base.layout.astro"; const title = "About us"; ---
- +

What is Ask'ell ?

+

+ Ask'ell is the name of our organisation. We are proud of it because of the meaning. +

+

+ Named after the prolific mathematician Haskell Curry, + its logo is inspired by the greec letter lambda, famous in the world of computer sciences thanks the Lambda calculs, + a mathematic principle used by many fonctional programming langages like Haskell. +

+

Our mission

+

+ We want to help engineers and project leaders to change their societies with technology. +

+

+ We are convinced that people have the desire and the ideas to + transform the world, and by extension radically change their + lifestyle. +

+

+ In our period with a lot of stressful challenges (ecologic, + political sovereignty) it's a need to provide to the people the + means to build their future. +

+

+ Before politic and activism, they can do this thanks the technology, + in particular with web technologies that is our speciality. +

diff --git a/src/pages/index.astro b/src/pages/index.astro index 0e5b1e2..021940d 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -4,41 +4,9 @@ const title = "Improve humanity with technology"; --- -
- See our projects -
-

Our mission

-

- We are an organisation which helps engineers and project leaders to change their societies with technology. -

-

- We are convinced that people have the desire and the ideas to transform - the world, and by extension radically change their lifestyle. -

-

- In our period with a lot of stressful challenges (ecologic, political - sovereignty) it's a need to provide to the people the means to build their - future. -

-

- Before politic and activism, they can do this thanks the technology, in - particular with web technologies that is our speciality. -

- See more about us -

Our means

- See our services +

Welcome to our website.

+

First time here ?

+ Read more about us.
-
- - \ No newline at end of file + \ No newline at end of file diff --git a/src/pages/products/antheme.md b/src/pages/products/antheme.md new file mode 100644 index 0000000..b9816a9 --- /dev/null +++ b/src/pages/products/antheme.md @@ -0,0 +1,13 @@ +--- +layout: ../../layouts/product.layout.astro +name: Antheme +description: Design System and components library +previewImageFileName: ask-ell-antheme-screenshot.png +portfolioImageFileName: ask-ell-antheme-screenshot.png +popularity: 1 +links: + - label: Access to the website + url: https://ask-ell.github.io/antheme/ + - label: See source code + url: https://github.com/ask-ell/antheme/ +--- \ No newline at end of file diff --git a/src/pages/products/ask.md b/src/pages/products/ask.md new file mode 100644 index 0000000..473bbf2 --- /dev/null +++ b/src/pages/products/ask.md @@ -0,0 +1,12 @@ +--- +layout: ../../layouts/product.layout.astro +name: Ask +description: Command line interface tool for coded projects +previewImageFileName: ask-ell-ask-screenshot.png +portfolioImageFileName: ask-ell-ask-screenshot.png +links: + - label: Access to the website + url: https://ask-ell.github.io/ask/ + - label: See source code + url: https://github.com/ask-ell/ask/ +--- \ No newline at end of file diff --git a/src/pages/products/chess.md b/src/pages/products/chess.md new file mode 100644 index 0000000..cf75151 --- /dev/null +++ b/src/pages/products/chess.md @@ -0,0 +1,13 @@ +--- +layout: ../../layouts/product.layout.astro +name: Chess Memo +description: Board visualization exercices for chess players +previewImageFileName: ask-ell-chess-memo-screenshot.png +portfolioImageFileName: ask-ell-chess-memo-screenshot.png +popularity: 3 +links: + - label: Access to the website + url: https://chess-memo-70600.web.app/ + - label: See source code + url: https://github.com/ask-ell/chess/ +--- \ No newline at end of file diff --git a/src/pages/products/core.md b/src/pages/products/core.md new file mode 100644 index 0000000..5140cc9 --- /dev/null +++ b/src/pages/products/core.md @@ -0,0 +1,13 @@ +--- +layout: ../../layouts/product.layout.astro +name: Core +description: Core library for Typescript/ Javascript projects +previewImageFileName: ask-ell-core-screenshot.png +portfolioImageFileName: ask-ell-core-screenshot.png +popularity: 2 +links: + - label: Access to the website + url: https://ask-ell.github.io/core/ + - label: See source code + url: https://github.com/ask-ell/core/ +--- \ No newline at end of file diff --git a/src/pages/products/formula.md b/src/pages/products/formula.md new file mode 100644 index 0000000..1fd1cc5 --- /dev/null +++ b/src/pages/products/formula.md @@ -0,0 +1,13 @@ +--- +layout: ../../layouts/product.layout.astro +name: Formula +description: Free mathematic formula drawer +previewImageFileName: ask-ell-formula-screenshot.png +portfolioImageFileName: ask-ell-formula-screenshot.png +popularity: 3 +links: + - label: Access to the website + url: https://ask-ell.github.io/formula/ + - label: See source code + url: https://github.com/ask-ell/formula/ +--- \ No newline at end of file diff --git a/src/pages/products/index.astro b/src/pages/products/index.astro new file mode 100644 index 0000000..1cb115a --- /dev/null +++ b/src/pages/products/index.astro @@ -0,0 +1,41 @@ +--- +import BaseLayout from "../../layouts/base.layout.astro"; +import type { MarkdownResource } from "../../shared/astro"; +import { + productsMarkdownResources, + productsCount, + sortByPopularity, +type Product +} from "../../shared/products"; + +const title: string = "Products"; +const productsMarkdownResourcesSortedByPopularity: MarkdownResource[] = productsMarkdownResources.sort(sortByPopularity) +--- + + +
+

We offer several products for our clients.

+ { + productsMarkdownResourcesSortedByPopularity.map( + ({ frontmatter: product, url }, index) => ( + <> +
+
+

{product.name}

+

{product.description}

+ See more +
+
+
+ {index != productsCount - 1 &&
} + + ), + ) + } +
+ \ No newline at end of file diff --git a/src/pages/products/music.md b/src/pages/products/music.md new file mode 100644 index 0000000..211a71a --- /dev/null +++ b/src/pages/products/music.md @@ -0,0 +1,13 @@ +--- +layout: ../../layouts/product.layout.astro +name: Music Scale +description: Music Scale Generator +previewImageFileName: ask-ell-music-scale-generator-screenshot.png +portfolioImageFileName: ask-ell-music-scale-generator-screenshot.png +popularity: 3 +links: + - label: Access to the website + url: https://music-scale-generator.web.app/ + - label: See source code + url: https://github.com/ask-ell/music/ +--- diff --git a/src/pages/products/opsession.md b/src/pages/products/opsession.md new file mode 100644 index 0000000..04ed927 --- /dev/null +++ b/src/pages/products/opsession.md @@ -0,0 +1,13 @@ +--- +layout: ../../layouts/product.layout.astro +name: Opsession +description: Sport sessions manager +previewImageFileName: ask-ell-planned-session-small-size-screenshot.png +portfolioImageFileName: ask-ell-planned-session-large-size-screenshot.png +popularity: 4 +links: + - label: Access to the website + url: https://legacy.opsession.app + - label: Access to the demo version + url: https://legacy.opsession.app/#demo +--- \ No newline at end of file diff --git a/src/pages/products/scripts.md b/src/pages/products/scripts.md new file mode 100644 index 0000000..47a5580 --- /dev/null +++ b/src/pages/products/scripts.md @@ -0,0 +1,12 @@ +--- +layout: ../../layouts/product.layout.astro +name: Scripts +description: Shared scripts +previewImageFileName: ask-ell-scripts-screenshot.png +portfolioImageFileName: ask-ell-scripts-screenshot.png +links: + - label: Access to the website + url: https://ask-ell.github.io/scripts/ + - label: See source code + url: https://github.com/ask-ell/scripts/ +--- \ No newline at end of file diff --git a/src/pages/products/spe.md b/src/pages/products/spe.md new file mode 100644 index 0000000..bc4ba34 --- /dev/null +++ b/src/pages/products/spe.md @@ -0,0 +1,12 @@ +--- +layout: ../../layouts/product.layout.astro +name: SOLID principles +description: Youtube tutorials about SOLID principles +previewImageFileName: ask-ell-solid-principles-examples-screenshot.png +portfolioImageFileName: ask-ell-solid-principles-examples-screenshot.png +links: + - label: See on Youtube + url: https://www.youtube.com/watch?v=rEbsyedOrXE&list=PLSrXox7SaH76gb6yotofIzytkWm5oCt3D + - label: See source code + url: https://github.com/ask-ell/spe/ +--- \ No newline at end of file diff --git a/src/pages/products/stacks.md b/src/pages/products/stacks.md new file mode 100644 index 0000000..e2ce6c1 --- /dev/null +++ b/src/pages/products/stacks.md @@ -0,0 +1,13 @@ +--- +layout: ../../layouts/product.layout.astro +name: Stacks +description: Stack adapters repository +previewImageFileName: ask-ell-stacks-screenshot.png +portfolioImageFileName: ask-ell-stacks-screenshot.png +popularity: 2 +links: + - label: Access to the website + url: https://ask-ell.github.io/stacks/ + - label: See source code + url: https://github.com/ask-ell/stacks/ +--- \ No newline at end of file diff --git a/src/pages/products/website.md b/src/pages/products/website.md new file mode 100644 index 0000000..9bc9f68 --- /dev/null +++ b/src/pages/products/website.md @@ -0,0 +1,12 @@ +--- +layout: ../../layouts/product.layout.astro +name: Website +description: Ask'ell website +previewImageFileName: ask-ell-website-screenshot.png +portfolioImageFileName: ask-ell-website-screenshot.png +links: + - label: Access to the website + url: https://www.ask-ell.com + - label: See source code + url: https://github.com/ask-ell/website/ +--- \ No newline at end of file diff --git a/src/pages/projects/index.astro b/src/pages/projects/index.astro deleted file mode 100644 index c637e45..0000000 --- a/src/pages/projects/index.astro +++ /dev/null @@ -1,11 +0,0 @@ ---- -import WipAlert from "../../components/wip-alert.astro"; -import BaseLayout from "../../layouts/base.layout.astro"; -const title = "Projects"; ---- - - -
- -
-
diff --git a/src/pages/services/business-products-development.md b/src/pages/services/business-products-development.md index 6433d22..7ca4dd7 100644 --- a/src/pages/services/business-products-development.md +++ b/src/pages/services/business-products-development.md @@ -2,5 +2,5 @@ layout: ../../layouts/service.layout.astro name: Business products development description: Delegate with confidence the software development of your business projects -imageFileName: business-products-development-service.jpg +previewImageFileName: ask-ell-business-products-development-service.jpg --- \ No newline at end of file diff --git a/src/pages/services/consulting.md b/src/pages/services/consulting.md index a51b349..03a67be 100644 --- a/src/pages/services/consulting.md +++ b/src/pages/services/consulting.md @@ -2,5 +2,5 @@ layout: ../../layouts/service.layout.astro name: Consulting description: Take advantage of a relevant and complete consulting service on a large set of technologies -imageFileName: consulting-service.jpg +previewImageFileName: ask-ell-consulting-service.jpg --- \ No newline at end of file diff --git a/src/pages/services/index.astro b/src/pages/services/index.astro index 17fb0ba..fb38af9 100644 --- a/src/pages/services/index.astro +++ b/src/pages/services/index.astro @@ -9,7 +9,7 @@ const title = "Services";
-

We propose several services for our clients.

+

We offer several services for our clients.

{ servicesMarkdownResources.map( ({ frontmatter: service, url }, index) => ( @@ -24,7 +24,7 @@ const title = "Services";
{index != servicesCount - 1 &&
} diff --git a/src/pages/services/open-source-products-delivery.md b/src/pages/services/open-source-products-delivery.md index 7ac30c6..4ebeb90 100644 --- a/src/pages/services/open-source-products-delivery.md +++ b/src/pages/services/open-source-products-delivery.md @@ -2,5 +2,5 @@ layout: ../../layouts/service.layout.astro name: Open source products delivery description: Use as free an ecosystem of tools developed by ourself -imageFileName: open-source-products-delivery-service.jpg +previewImageFileName: ask-ell-open-source-products-delivery-service.jpg --- \ No newline at end of file diff --git a/src/pages/services/project-incubation.md b/src/pages/services/project-incubation.md index 14e9661..9f35fcc 100644 --- a/src/pages/services/project-incubation.md +++ b/src/pages/services/project-incubation.md @@ -2,5 +2,5 @@ layout: ../../layouts/service.layout.astro name: Project incubation description: Collaborate with us to ship your project faster -imageFileName: project-incubation-service.jpg +previewImageFileName: ask-ell-project-incubation-service.jpg --- \ No newline at end of file diff --git a/src/pages/services/talks.md b/src/pages/services/talks.md index f9448ec..ed78b23 100644 --- a/src/pages/services/talks.md +++ b/src/pages/services/talks.md @@ -2,5 +2,5 @@ layout: ../../layouts/service.layout.astro name: Talks description: Take advantage of our expertise to attend a talk about a problematic that interests you -imageFileName: talks-service.jpg +previewImageFileName: ask-ell-talks-service.jpg --- \ No newline at end of file diff --git a/src/shared/links.ts b/src/shared/links.ts new file mode 100644 index 0000000..d0d25f2 --- /dev/null +++ b/src/shared/links.ts @@ -0,0 +1,4 @@ +export type Link = { + label: string; + url: string; +} \ No newline at end of file diff --git a/src/shared/products.ts b/src/shared/products.ts new file mode 100644 index 0000000..f87e4d2 --- /dev/null +++ b/src/shared/products.ts @@ -0,0 +1,23 @@ +import { getMarkdownResources, type MarkdownResource } from "./astro"; +import type { Link } from "./links"; + +export type Product = { + name: string; + description: string; + previewImageFileName: string; + portfolioImageFileName: string; + popularity?: number; + links?: Link[]; +} + +export const productsMarkdownResources: MarkdownResource[] = getMarkdownResources( + import.meta.glob("/src/pages/products/*.md", { eager: true }), +); + +export const productsCount = productsMarkdownResources.length; + +export function sortByPopularity(productA: MarkdownResource, productB: MarkdownResource): number { + const productAPopularity = productA.frontmatter.popularity || 0; + const productBPopularity = productB.frontmatter.popularity || 0; + return productBPopularity - productAPopularity; +} \ No newline at end of file diff --git a/src/shared/services.ts b/src/shared/services.ts index 0b654d3..49969c4 100644 --- a/src/shared/services.ts +++ b/src/shared/services.ts @@ -3,7 +3,7 @@ import { getMarkdownResources, type MarkdownResource } from "./astro"; export type Service = { name: string; description: string; - imageFileName: string; + previewImageFileName: string; } export const servicesMarkdownResources: MarkdownResource[] = getMarkdownResources(