{"id":21662688,"url":"https://github.com/codesyntax/volto-txantiloiak","last_synced_at":"2026-05-13T05:45:14.820Z","repository":{"id":40540237,"uuid":"475790306","full_name":"codesyntax/volto-txantiloiak","owner":"codesyntax","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-05T15:09:04.000Z","size":65,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-01-25T07:27:24.573Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codesyntax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-30T08:35:38.000Z","updated_at":"2022-12-15T00:11:33.000Z","dependencies_parsed_at":"2024-11-25T10:17:45.868Z","dependency_job_id":"b7e03a96-b4fb-44f7-900d-5630520053eb","html_url":"https://github.com/codesyntax/volto-txantiloiak","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fvolto-txantiloiak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fvolto-txantiloiak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fvolto-txantiloiak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fvolto-txantiloiak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codesyntax","download_url":"https://codeload.github.com/codesyntax/volto-txantiloiak/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244560373,"owners_count":20472219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T10:17:42.812Z","updated_at":"2026-05-13T05:45:09.801Z","avatar_url":"https://github.com/codesyntax.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# volto plantillak\n\n- [English](#english)\n- [Euskara](#euskara)\n\n# English\n\nIn this repo you will find the files required in a Volto project setup.\n\n## Gitlab project configuration\n\nWe need to create the following variables in our Gitlab organization:\n\n- CI_GITLAB_USER_EMAIL: the email belonging to the user who will be used to commit the changes made by release-it.\n- CI_GITLAB_USERNAME: the username which will be used to commit the changes made by release-it\n- CODESYNTAX_NPM_REPO_URL: the URL of the private npm registry\n- CODESYNTAX_REPO_NPM_TOKEN: the token needed to publish packages in the private npm registry\n- GITLAB_TOKEN: a gitlab token created by a user of the organization which will be used to commit and push the changes.\n- MJ_APIKEY_PRIVATE: private key of the Mailjet API, used to send emails\n- MJ_APIKEY_PUBLIC: public key of the Mailjet API, used to send emails\n- SSH_KNOWN_HOSTS: list of the rsa keys of the servers known to gitlab ci so the changes can be deployed.\n- SSH_SERVER_BUILDOUT_PATH: path to the buildout where the plone and volto installation lie in the server.\n- SSH_SERVER_USER: user that is used to scp the changes to the server\n- VOLTO_DEPLOY_SSH_PRIVATE_KEY: private key used to deploy the volto project to the server. The corresponding public key must be added at `~/.ssh/authorized_keys` in the server.\n- VOLTO_RELEASE_EMAIL_TO: email address to which the success email will be sent.\n\n## Project composition\n\nOur projects will have 2 packages and 2 repositories:\n\n- `XXXX-frontend`: project repo: this will handle the Volto installation and all main dependencies.\n\n- `volto-XXXX`: customization addon: this package will contain the custom blocks, configurations and dependencies.\n\n## How to create the packages\n\nWe will be using Volto's generator to create our packages\n\n### XXX-frontend\n\n- go to gitlab and create the repo: use `XXXX-frontend` as name, do not create a README (there is a checkbox for that)\n- create a folder where your package will live:\n  ```bash\n  mkdir XXXX-frontend  \n  ```\n- run the volto generator inside the recently created folder:\n  ```bash\n  cd XXXX-frontend\n  yo @plone/volto\n  ```\n  Answer the questions keeping in mind the project name (XXXX-frontend)\n- Download the [update-templates.py](update-templates.py) to the repo and execute it to download the required templates:\n  ```bash\n  python3 update-templates.py -frontend\n  ```\n- Upload the changes to your repo:\n\n  ```bash\n  git init .\n  git add .\n  git commit -m \"CI-CD configuration\"\n  git push origin main\n  ```\n\n- Configure the repo in Gitlab, open https://gitlab.com/organization/XXXX-frontend:\n\n  - **Settings** -\u003e **Repository** -\u003e **Deploy keys** -\u003e **Expand**. Go to **Privately accesible deploy keys** and **Enable** **volto-ssh-deploy-key** . On doing this it will jump to the **Enabled deploy keys** tab. Click on the pen icon and select the checkbox **Grant write permissions to this key**\n\n  - **Settings** -\u003e **Repository** -\u003e **Protected branches** -\u003e **Expand**. The **main** branch will be selected. Unselect the **Maintainers** in the **Allowed to push** dropdown and select the **volto-ssh-deployley** under **Deploy Keys**.\n\n  - **Settings** -\u003e **CI/CD** -\u003e **Variables** -\u003e **Expand**. Add two new vars:\n\n    - SSH_SERVER_NAME: the name of the server (ex: `project.korpoweb.com`), do not select **Protected** and **Masked**.\n    - VOLTO_SUPERVISOR_NAME: normally this will be `voltoprojectname` but check the name in the supervisor you are using.\n\n  - **Settings** -\u003e **General** -\u003e **Merge requests** -\u003e **Expand**. Disable **Enable \"Delete source branch\" option by default** under **Merge options**.\n\n- Set the server configuration. Get the SSH key of the server. Go to https://gitlab.com/user:\n  - Execute `ssh-keyscn -t rsa server.korpoweb.com` and copy the rsa key in **one line**.\n  - **Settings** -\u003e **CI/CD** -\u003e **Variables** -\u003e **Expand**. Edit the value of **SSH_KNOWN_HOSTS** and add the key you got in the previous step in a new line.\n\nWith these changes the project will be ready to build itself when there is a Merge Request to **main** branch. If there is any error it will be reported in the Merge Request itself.\n\nWhen the Merge Request is accepted a new version will be prepared, the CHANGELOG updated, a new tag and release created and the server will be updated automatically.\n\n### volto-XXXX\n\n- create the repo in Gitlab and name it `volto-XXXX`. Do not create a README.\n\n- Create a folder with your addon name:\n  ```bash\n  mkdir volto-XXXX\n  ```\n- Run the addon generator inside the recently created folder:\n  ```bash\n  cd volto-XXXX\n  yo @plone/volto:addon volto-XXXX\n  ``` \n  Answer the questions keeping in mind your package name (volto-XXXX)\n\n- Create a repo in your organization account with a name like `volto-XXXX`\n\n- download the [update-templates.py](updates-templates.py) script in this repo and execute it:\n\n  ```bash\n  python3 update-template.py -theme\n  ```\n\n- upload the changes to the repo:\n  ```bash\n  git add .\n  git commit -m \"CI-CD configuration\"\n  git push origin main -u\n  ```\n- Configure the repo in Gitlab, open https://gitlab.com/organization/volto-XXXX:\n\n  - **Settings** -\u003e **Repository** -\u003e **Deploy keys** -\u003e **Expand**. Go to **Privately accesible deploy keys** and **Enable** **volto-ssh-deploy-key** . Doing this the option will go to the **Enabled deploy keys** tab. Click on the pen icon and select the checkbox **Grant write permissions to this key**\n\n  - **Settings** -\u003e **Repository** -\u003e **Protected branches** -\u003e **Expand**. The **main** branch will be selected. Unselect the **Maintainers** in the **Allowed to push** dropdown and select the **volto-ssh-deployley** under **Deploy Keys**.\n\n  - **Settings** -\u003e **CI/CD** -\u003e **Variables** -\u003e **Expand**. Add two new vars:\n\n    - SSH_SERVER_NAME: the name of the server (ex: `project.korpoweb.com`), do not selected **Protected** and **Masked**.\n    - VOLTO_SUPERVISOR_NAME: normally this will be `voltoprojectname` but check the name in the supervisor you are using.\n\n  - **Settings** -\u003e **General** -\u003e **Merge requests** -\u003e **Expand**. Disable **Enable \"Delete source branch\" option by default** under **Merge options**.\n\nWith these changes when a Merge-Request is accepted a new version will be released, tagged, CHANGELOG updated and uploaded to the private registry at https://code.codesyntax.com/npm/\n\n**WARNING**: after the release you will need to update the package version manually in your XXXX-frontend package.\n\n## Development notes\n\nThe development flow is the following:\n\n- The developments will be made in a branch called `develop` or in branches created from this `develop` branch and merged back there.\n\n- When we are ready to create a new version a Merge Request will be created from `develop` to `main`.\n\n- In the `XXXX-frontend` package the Merge Request can't be accepted until the `yarn build` is succesful and this guarantees that the release will be done correctly.\n\n- If we want to debug the results of `yarn build` the build is saved as an artifact so that it can be downloaded.\n\n# Euskara\n\nRepositorio honetan Volto proiketu bat hasieratzean kontuan eduki beharreko gauzak azalduko ditugu.\n\n## Proiektuaren osaera\n\nGure proiektuek 2 pakete eta 2 errepositorio izango dituzte:\n\n- `XXXX-frontend`: proiektuaren repositorioa: hemen Volto instalatuko da eta dependentzia eta konfigurazio orokorrak zehaztuko dira\n\n- `volto-XXXX`: pertsonalizazio paketea: hemen proiektu zehatz honi dagozkion estilo pertsonalizatuak eta pertsonalizazioak joango dira.\n\n## Nola sortu hasierako paketeak\n\n### XXX-frontend\n\nEEAren proiektuaren txantiloia erabiliko dugu. Horretarako zera egin behar da:\n\n- gitlab-en gure proiektuaren errepositorioa sortu: izena `XXXX-frontend` izan dadila, ez sortu README fitxategirik bertan (checkbox bat dago hori aukeratzeko)\n- https://github.com/eea/volto-frontend-template orrialdera joan eta **Use this template** botoia sakatu\n- codesyntax errepositorioan sortu pakete proiektuaren errepositorioa dagokion izena jarriz, adibidez: `codesyntax-frontend`\n- errepositorio hori gure makinara klonatu:\n  ```bash\n  git clone git@github.com:codesyntax/codesyntax-frontend\n  ```\n- komando hauek exekutatu proiektua abiarazteko:\n  ```bash\n  cd codesyntax-frontend\n  nvm install lts/fermium\n  nvm use lts/fermium\n  npm install -g yo @plone/generator-volto ejs\n  npm install ejs\n  rm -rf package.json package-lock.json\n  yo @plone/volto --skip-install --workspace src/addons/*\n  # Galderei erantzun: izena: codesyntax-frontend (proiektuaren izena) eta addons: false\n  node bootstrap\n  git checkout -b main\n  git add .\n  git commit -m \"Initial commit\"\n  git remote rm origin\n  git remote add origin git@gitlab.com:codesyntax/codesyntax-frontend\n  git push origin main -u\n  ```\n- Repositorio honetan dagoen [update-templates.py](update-templates.py) deskargatu zure repora eta exekutatu:\n\n  ```bash\n  python3 update-templates.py -frontend\n  ```\n\n- Aldaketak errepositoriora igo:\n  ```bash\n  git add .\n  git commit -m \"CI-CD configuration\"\n  git push origin main\n  ```\n- Gitlaben repositorioa konfiguratu, ireki https://gitlab.com/codesyntax/codesyntax-frontend:\n\n  - **Settings** -\u003e **Repository** -\u003e **Deploy keys** -\u003e **Expand** sakatu. **Privately accesible deploy keys** fitxara joan eta **volto-ssh-deploy-key** agertzen denaren ondoko **Enable** botoia sakatu. Hau egiterakoan **Enabled deploy keys** fitxara pasatuko da. Fitxa horretan bere ondoan dagoen arkatzaren ikonoa sakatu eta **Grant write permissions to this key** checkboxa aukeratu\n\n  - **Settings** -\u003e **Repository** -\u003e **Protected branches** -\u003e **Expand** sakatu. **main** adarra defektuz babestuta agertuko da. **Allowed to push** desplegablean kendu aukeratuta dagoen **Maintainers** eta **Deploy Keys** azpian dagoen **volto-ssh-deploy-key** aukeratu.\n\n  - **Settings** -\u003e **CI/CD** -\u003e **Variables** -\u003e **Expand** sakatu. Bi aldagai berri gehitu:\n\n    - SSH_SERVER_NAME: balioa zerbitzariaren domeinu izena (adb: `proiektua.korpoweb.com`), **Protected** ez aukeratu eta **Masked** ere ez.\n    - VOLTO_SUPERVISOR_NAME: balioa normalean `voltoproiektuizena` izaten da, begiratu buildoutak supervisorrean zer sortu duen, hau voltoa berrabiarazteko erabiltzen da.\n\n  - **Settings** -\u003e **General** -\u003e **Merge requests** -\u003e **Expand** sakatu. **Merge options** atalean desaktibatu **Enable \"Delete source branch\" option by default**, defektuz markatuta datorrena.\n\n- Zerbitzari berriarekin Gitlaben konfigurazio orokorra aldatu: volto proiektu hau zerbitzari batera jargatu behar dugunean, zerbitzari horren SSH gakoa zein den esan behar diogu Gitlabi, SSH konexioak ondo egiteko. Horretarako joan helbide honetara: https://gitlab.com/codesyntax\n  - Gure makinatik `ssh-keyscan -t rsa zerbitzaria.korpoweb.com` exekutatu eta emaitza gisa txurro bat irtengo da. Txurro hori kopiatu VisualCodera eta **lerro bakarrean utzi**. Hurrengo pausoan erabiliko dugu.\n  - **Settings** -\u003e **CI/CD** -\u003e **Variables** -\u003e **Expand** sakatu. **SSH_KNOWN_HOSTS** aldagaiaren balioa editatu eta lerro berri baten aurreko pausuko gakoa kopiatu.\n\nAldaketa hauekin proiektua prest egongo da Merge-Request bat dagoenean `yarn build` exekutatzeko eta erroreak badaude merge-request-ean bertan adierazteko.\n\nMerge-request-a onartzen denean bertsio berri bat aterako du, CHANGELOGa bete, tag berri bat sortuko du eta automatikoki eguneratu egingo du zerbitzarian.\n\n### volto-XXXX\n\nHonetarako ere EEAren volto addon baten txantiloia erabiliko dugu.\n\n- gitlaben gure addonaren errepositorioa sortu: izena `volto-XXXX` izan dadila, ez sortu README fitxategirik bertan (checkbox bat dago hori aukeratzeko)\n\n- https://github.com/eea/volto-addon-template orrialdera joan eta **Use this template** botoia sakatu.\n\n- codesyntax errepositoriaon sortu addonari dagokion izena jarriz, adibidez: `volto-codesyntax`.\n\n- errepositorio hori gure makinara klonatu:\n  ```bash\n  git clone git@github.com:codesyntax/volto-codesyntax\n  ```\n- komando hauek exekutatu addona abiarazteko:\n\n  ```bash\n  cd volto-codesyntax\n  nvm install lts/fermium\n  nvm use lts/fermium\n  npm i -g yarn\n  yarn bootstrap\n  git checkout -b main\n  git add .\n  git ci -m \"initial commit\"\n  git remote rm origin\n  git remote add origin git@gitlab.com:codesyntax/volto-codesyntax\n  git push origin main -u\n  ```\n\n- Repositorio honetan dagoen [volto-txantiloia](volto-txantiloia) karpetaren edukiak deskargatu eta exekutatu:\n\n  ```bash\n  python3 update-template.py -theme\n  ```\n\n- Aldaketak errepositoriora igo:\n  ```bash\n  git add .\n  git commit -m \"CI-CD configuration\"\n  git push origin main -u\n  ```\n- Gitlaben repositorioa konfiguratu, ireki https://gitlab.com/codesyntax/volto-codesyntax:\n\n  - **Settings** -\u003e **Repository** -\u003e **Deploy keys** -\u003e **Expand** sakatu. **Privately accesible deploy keys** fitxara joan eta **volto-ssh-deploy-key** agertzen denaren ondoko **Enable** botoia sakatu. Hau egiterakoan **Enabled deploy keys** fitxara pasatuko da. Fitxa horretan bere ondoan dagoen arkatzaren ikonoa sakatu eta **Grant write permissions to this key** checkboxa aukeratu\n\n  - **Settings** -\u003e **Repository** -\u003e **Protected branches** -\u003e **Expand** sakatu. **main** adarra defektuz babestuta agertuko da. **Allowed to push** desplegablean kendu aukeratuta dagoen **Maintainers** eta **Deploy Keys** azpian dagoen **volto-ssh-deploy-key** aukeratu.\n\n  - **Settings** -\u003e **General** -\u003e **Merge requests** -\u003e **Expand** sakatu. **Merge options** atalean desaktibatu **Enable \"Delete source branch\" option by default**, defektuz markatuta datorrena.\n\nAldaketa hauekin Merge-Request bat onartzen denean bertsio berri bat aterako du, CHANGELOGa bete, tag berri bat sortuko eta https://code.codesyntax.com/npm/ -ra kargatuko du.\n\n**ADI**: ondoren eskuz aldatu beharko da XXXX-frontend paketearean `package.json` fitxategian bertsio berria.\n\n**TO-DO**: bertsio aldaketa hau automatikoki egitea pendiente dago.\n\n## Garapenerako jarraibideak\n\nJarraibide orokor gisa EEAren proiektuetan erabiltzen dugun gitflow metodologia erabiliko dugu:\n\n- Garapenak `develop` izeneko adar baten edo `develop` adarretik ateratako adar berri baten egingo dira.\n- Bertsio berriak sortzeko prest gaudenean Merge Request bat egin behar da `develop` adarretik `main` adarrera.\n- `XXXX-frontend` paketearen kasuan, Merge Request-a ezin da onartu, bertan konfiguratuta dagoen testa exekutatu arte. Test horrek `yarn` eta `yarn build` exekutatzen ditu, horrela ondorengo argitaraketa ondo joango dela bermatzen du.\n- Arazoak eskuz debugeatu nahi baditugu, `yarn build` komandoaren emaitza \"artifact\" bezala gordeta gelditzen da eta berau deskargatu eta eskuz probatu dezakegu.\n\nPakete publiko berrerabilgarriren bat egiten hasten bagara, berau GitHuben kargatuko dugu. Bere argitaraketak automatizatu ditzakegu, horretarako [volto-listingadvanced-variation](https://github.com/codesyntax/volto-listingadvanced-variation) paketean dagoen `.github` izeneko karpeta eta bere edukiak sortu beharko ditugu pakete berrian (adi `.github` karpetaren barruan `workflows` izeneko bat egon behar da eta bere barruan `release.yml` fitategia) eta `develop` adarretik `main` adarrerako pull-requestak erabili. Argitaraketak NPMn egiteko beharrezko tokenak `codesyntax` mailan ezarrita daude eta ez da konfigurazio berezirik egin behar.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodesyntax%2Fvolto-txantiloiak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodesyntax%2Fvolto-txantiloiak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodesyntax%2Fvolto-txantiloiak/lists"}