# Pluto Pages on gitlab

**URL:** https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837
**Category:** Pluto
**Tags:** question
**Created:** [June 13, 2021, 2:43pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837 "2021-06-13T14:43:39Z")
**Posts on this page:** 14
**Page:** 1

<div class="post-metadata">

### Author: ![alvarmaciel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alvarmaciel/32/18586_2.png) [@alvarmaciel](https://discourse.julialang.org/u/alvarmaciel)
#### Post date: [June 13, 2021, 2:43pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/1 "2021-06-13T14:43:39Z")

</div>

Hi, to all.  
Is there a way to make Pluto pages on gitlab?  
I know the github procedure. But I want to move to Gitlab and I really don’t know if this is possible. I’m not really an expert on this.  
Thanks

---

<div class="post-metadata">

### Author: ![rikh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rikh/32/204104_2.png) [@rikh](https://discourse.julialang.org/u/rikh)
#### Post date: [June 13, 2021, 9:03pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/2 "2021-06-13T21:03:04Z")

</div>

GitLab Pages work very similar. Have you checked the GitLab documentation? Could you maybe clarify a bit what part you are struggling with?

---

<div class="post-metadata">

### Author: ![Wen-Wei\_Tseng](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wen-wei_tseng/32/28839_2.png) [@Wen-Wei\_Tseng](https://discourse.julialang.org/u/Wen-Wei_Tseng)
#### Post date: [June 14, 2021, 4:37am UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/3 "2021-06-14T04:37:55Z")

</div>

From [GitLab pages](https://docs.gitlab.com/ee/user/project/pages/) and [PkgSkeleton](https://github.com/tpapp/PkgSkeleton.jl/blob/master/templates/default/.gitlab-ci.yml)

Edit: added Julia setup and build stage.

After the HTML files are built by `PlutoSliderServer.github_action()`, move them to the `public` folder and make it the artifact.

The example `.gitlab-ci.yml`

```nohighlight
image: julia:1.6 # image comes from Docker hub

# Cache modules in between jobs
cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - pluto_state_cache/

pages:
  stage: deploy
  script:
  - julia -e 'using Pkg;
            Pkg.activate(mktempdir());
            Pkg.add([
              Pkg.PackageSpec(name="PlutoSliderServer", version="0.2"),
            ]);

            import PlutoSliderServer;

            PlutoSliderServer.github_action(;
              Export_cache_dir="pluto_state_cache",
            );'
  - mkdir .public
  - cp -r * .public
  - mv .public public
  artifacts:
    paths:
    - public
  only:
  - main

```

---

<div class="post-metadata">

### Author: ![alvarmaciel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alvarmaciel/32/18586_2.png) [@alvarmaciel](https://discourse.julialang.org/u/alvarmaciel)
#### Post date: [June 14, 2021, 11:27am UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/4 "2021-06-14T11:27:52Z")

</div>

Yes, I check it out a little bit, but I really don’t know mouch of the procedures to make the CI works

---

<div class="post-metadata">

### Author: ![alvarmaciel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alvarmaciel/32/18586_2.png) [@alvarmaciel](https://discourse.julialang.org/u/alvarmaciel)
#### Post date: [June 14, 2021, 11:28am UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/5 "2021-06-14T11:28:14Z")

</div>

Great i will try it today

---

<div class="post-metadata">

### Author: ![Wen-Wei\_Tseng](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wen-wei_tseng/32/28839_2.png) [@Wen-Wei\_Tseng](https://discourse.julialang.org/u/Wen-Wei_Tseng)
#### Post date: [June 14, 2021, 3:32pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/7 "2021-06-14T15:32:25Z")

</div>

FYI, here is my [testing GitLab repository of pluto notebooks](https://gitlab.com/sosiristseng/pluto-notebooks).

---

<div class="post-metadata">

### Author: ![alvarmaciel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alvarmaciel/32/18586_2.png) [@alvarmaciel](https://discourse.julialang.org/u/alvarmaciel)
#### Post date: [June 14, 2021, 3:53pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/8 "2021-06-14T15:53:15Z")

</div>

[It’s working](https://alvarmaciel.gitlab.io/pluto-static-export-template/My%20cool%20notebook.html) perfect. I only change the last line to  
`- master`  
Now  
Can we make this a template that is listed on [GitLab Pages examples / GitLab Pages examples requests · GitLab](https://gitlab.com/pages/pages.gitlab.io) ?  
what do you think?

---

<div class="post-metadata">

### Author: ![alvarmaciel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alvarmaciel/32/18586_2.png) [@alvarmaciel](https://discourse.julialang.org/u/alvarmaciel)
#### Post date: [June 14, 2021, 3:58pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/9 "2021-06-14T15:58:54Z")

</div>

awesome  
As i say before, maybe we can make the inclusion as a template of gitlab. now I’m reading the [CONTRIBUTING.md · master · GitLab Pages examples / GitLab Pages examples requests · GitLab](https://gitlab.com/pages/pages.gitlab.io/-/blob/master/CONTRIBUTING.md) to learn the process

---

<div class="post-metadata">

### Author: ![Wen-Wei\_Tseng](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wen-wei_tseng/32/28839_2.png) [@Wen-Wei\_Tseng](https://discourse.julialang.org/u/Wen-Wei_Tseng)
#### Post date: [June 14, 2021, 4:00pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/10 "2021-06-14T16:00:54Z")

</div>

Yes, please do. I’m also thinking about making a PR to the [upstream repo](https://github.com/JuliaPluto/static-export-template).

---

<div class="post-metadata">

### Author: ![alvarmaciel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alvarmaciel/32/18586_2.png) [@alvarmaciel](https://discourse.julialang.org/u/alvarmaciel)
#### Post date: [June 14, 2021, 4:08pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/11 "2021-06-14T16:08:27Z")

</div>

Great, I’ll make it today

---

<div class="post-metadata">

### Author: ![alvarmaciel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alvarmaciel/32/18586_2.png) [@alvarmaciel](https://discourse.julialang.org/u/alvarmaciel)
#### Post date: [June 14, 2021, 5:08pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/12 "2021-06-14T17:08:20Z")

</div>

It’s done. I put the issue to make it happen

> **[Add Julia-Pluto interactive notebook Static Export template (#87) · Issues ·...](https://gitlab.com/pages/pages.gitlab.io/-/issues/87)**
>
> SSG Name: Pluto.jl SSG website: https://plutojl.org My working example repo: https://gitlab.com/alvarmaciel/julia-pluto ...

---

<div class="post-metadata">

### Author: ![Wen-Wei\_Tseng](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wen-wei_tseng/32/28839_2.png) [@Wen-Wei\_Tseng](https://discourse.julialang.org/u/Wen-Wei_Tseng)
#### Post date: [June 25, 2021, 2:12pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/13 "2021-06-25T14:12:09Z")

</div>

I made a PR to the upstream and @fonsp suggested turning the GitLab CI/CD part into a separate repository to reduce complexity. And [here](https://github.com/JuliaPluto/static-export-template-gitlab) it is.  
It is regularly mirrored to [this GitLab repository](https://gitlab.com/sosiristseng/pluto-static-export-template) to run CI/CD. (Of course, one can get the job done using a GitLab repo only, but it might be better to put this project under the JuliaPluto umbrella)

---

<div class="post-metadata">

### Author: ![alvarmaciel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alvarmaciel/32/18586_2.png) [@alvarmaciel](https://discourse.julialang.org/u/alvarmaciel)
#### Post date: [June 25, 2021, 8:52pm UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/14 "2021-06-25T20:52:01Z")

</div>

Great! many of this is new to me, I’m a teacher getting involve in all this.  
I have to do something with the request to Gitlab. Maybe modify the proyect?

---

<div class="post-metadata">

### Author: ![Wen-Wei\_Tseng](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wen-wei_tseng/32/28839_2.png) [@Wen-Wei\_Tseng](https://discourse.julialang.org/u/Wen-Wei_Tseng)
#### Post date: [June 26, 2021, 8:17am UTC](https://discourse.julialang.org/t/pluto-pages-on-gitlab/62837/15 "2021-06-26T08:17:57Z")

</div>

Hi @alvarmaciel feel free to [discuss](https://github.com/JuliaPluto/static-export-template-gitlab/discussions) general topics or [file an issue](https://github.com/JuliaPluto/static-export-template-gitlab/issues) to propose code changes and bug fixing for this “root” project. The Gitlab repo is just a mirror of the GitHub one so I disabled the issue section there.

For personal projects holding their pluto notebooks, one can just fork the repo or just copy the `.gitlab-ci.yml` file to a GitLab repo to get started. And because the repository is under public domain (unlicense), you don’t even have to mention us. (but giving credit is always welcome)
