|
| 1 | +# basicpage.github.io |
| 2 | + |
| 3 | +**Template for a basic academic page that is ready to use and easy to customise.** |
| 4 | + |
| 5 | +<img width="1440" alt="Screenshot 2024-11-02 at 19 39 34" src="https://github.com/user-attachments/assets/34d4b1f7-3212-4081-b9aa-ded0d0963d89"> |
| 6 | + |
| 7 | +It is also **responsive** by default! |
| 8 | + |
| 9 | +<img width="334" alt="Screenshot 2024-11-02 at 19 43 24" src="https://github.com/user-attachments/assets/d5efbc5b-0385-4640-9397-563396400c55"> |
| 10 | + |
| 11 | +It relies on [FontAwesome](https://fontawesome.com/) and [Academicons](https://jpswalsh.github.io/academicons/) to display nice icons. |
| 12 | + |
| 13 | +It is close in style to |
| 14 | +[academicpages](https://github.com/academicpages/academicpages.github.io) |
| 15 | +but is entirely independent. |
| 16 | + |
| 17 | +## Getting started |
| 18 | + |
| 19 | +- [Create a Github account if you don't have one.](https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F&source=header-home) |
| 20 | +- Click on [Use this template](https://github.com/new?owner=basicpage&template_name=basicpage.github.io&template_owner=basicpage) |
| 21 | + and then create a new repository called `[your username].github.io`, a bit |
| 22 | + like this repo is called `basicpage.github.io`. This will also be the address |
| 23 | + of your website. |
| 24 | + |
| 25 | +> [!NOTE] |
| 26 | +> If you don't have Github Pro (which you can get with the students programme) |
| 27 | +> then your repository must be public for it to work. |
| 28 | +
|
| 29 | +- Now go to the repository "Settings" then click "Pages" on the left and select |
| 30 | + "Github Actions" instead of "Deploy from a branch" for "Source". |
| 31 | + |
| 32 | + <img width="837" alt="Screenshot 2024-11-27 at 16 51 07" src="https://github.com/user-attachments/assets/7219187c-7370-42dd-a9cf-c7559072b42f"> |
| 33 | + |
| 34 | + <img width="304" alt="Screenshot 2024-11-27 at 16 52 45" src="https://github.com/user-attachments/assets/9af6698f-2c47-422f-8dff-61ee3629089e"> |
| 35 | + |
| 36 | + <img width="243" alt="Screenshot 2024-11-27 at 16 52 59" src="https://github.com/user-attachments/assets/ac68143a-8e3b-4cca-9030-ae0af77d898f"> |
| 37 | + |
| 38 | + |
| 39 | +- Fill the contents of `index.md` to your liking and it should just work. |
| 40 | + |
| 41 | +## Options |
| 42 | + |
| 43 | +The `index.md` file starts with a header. All the items in it are optional. |
| 44 | +For instance, if you remove the line |
| 45 | +```yaml |
| 46 | +picture: img/profile.png |
| 47 | +``` |
| 48 | +then the website will no longer contain a picture. |
| 49 | +We think it's better to have a picture, but it's your choice. |
| 50 | +
|
| 51 | +The same goes for email and so on. |
| 52 | +
|
| 53 | +We give the semantics of the various fields (all of whom are optional). |
| 54 | +
|
| 55 | +### General |
| 56 | +
|
| 57 | +- `title`: Title for your page, it will appear in the tab (metadata). |
| 58 | + |
| 59 | +- `author`: Typically your name. It will appear in the page and as metadata. |
| 60 | + |
| 61 | +- `shortbio`: Some form of subtitle where you can present yourself in a few |
| 62 | + words. It will appear below your name. |
| 63 | + |
| 64 | +- `email`: Your email. It will appear next to an envelope in monospace font. |
| 65 | + |
| 66 | +- `location`: Information about your location (university, office, …). |
| 67 | + It will appear next to a pin icon. |
| 68 | + |
| 69 | +- `picture`: A path (relative or absolute) to the profile picture. |
| 70 | + |
| 71 | +- `picture-round`: A Boolean (`true` or `false`) deciding whether your profile |
| 72 | + picture is rounded or left as a square. |
| 73 | + By default, it is square. |
| 74 | + |
| 75 | +- `side-by-side`: A Boolean deciding whether the picture and the rest of the |
| 76 | + header are side by side on larger screens. |
| 77 | + By default, it's all on top of each other, like on smaller screens. |
| 78 | + |
| 79 | +- `pronouns`: A string to show your pronouns. |
| 80 | + |
| 81 | +- `footer`: Some data to put in the footer of the page. You can use it to put |
| 82 | + some disclaimer, or maybe to advertise basicpage. ☺️ |
| 83 | + If nothing is provided, then the footer doesn't appear, and thus the |
| 84 | + horizontal that precedes is will not show either. |
| 85 | + |
| 86 | +### OpenGraph |
| 87 | + |
| 88 | +OpenGraph carries information that used by social media and messaging app to |
| 89 | +display your links *nicely*, typically with the picture and a small |
| 90 | +description. |
| 91 | + |
| 92 | +- `description-meta`: Description of the page to appear in the metadata |
| 93 | + and in the OpenGraph data. |
| 94 | + |
| 95 | +- `og-url`: This should be a full URL (starting with `http` or `https`) to your |
| 96 | + website. This is required by the format. |
| 97 | + |
| 98 | +- `og-picture`: A full URL (starting with `http` or `https`) linking to a |
| 99 | + picture to display. |
| 100 | + |
| 101 | +### Social and academic accounts |
| 102 | + |
| 103 | +- `orcid`: Your ORCID number (in the shape `0000-0000-0000-0000`). |
| 104 | + |
| 105 | +- `dblp`: *URL* to your DBLP page. |
| 106 | + |
| 107 | +- `scholar`: *URL* to your Google Scholar page. |
| 108 | + |
| 109 | +- `hal`: *URL* to your HAL page. |
| 110 | + |
| 111 | +- `github`: Username to your Github account. |
| 112 | + |
| 113 | +- `gitlab`: Username to your Gitlab account. |
| 114 | + |
| 115 | +- `bitbucket`: *URL* to your BitBucket account. |
| 116 | + |
| 117 | +- `mastodon`: *URL* to your Mastodon account. |
| 118 | + |
| 119 | +- `bluesky`: *URL* to your BlueSky account. |
| 120 | + |
| 121 | +- `linkedin`: *URL* to your LinkedIn account. |
| 122 | + |
| 123 | +## Papers |
| 124 | + |
| 125 | +We provide some tools to input your publications and drafts either in JSON |
| 126 | +or YAML formats. |
| 127 | + |
| 128 | +For instance: |
| 129 | +````markdown |
| 130 | +``` yaml {.paper} |
| 131 | +title: Yet another yaml parser 3 |
| 132 | +authors: Templato Urnehm |
| 133 | +venue: Proceedings of Nihilism |
| 134 | +url: https://basicpage.github.io |
| 135 | +year: 2029 |
| 136 | +files: |
| 137 | + - text: Paper |
| 138 | + type: pdf |
| 139 | + scr: foo.pdf |
| 140 | + - text: Bibtex |
| 141 | + type: bib |
| 142 | + src: foo.bib |
| 143 | +``` |
| 144 | +```` |
| 145 | + |
| 146 | +or |
| 147 | + |
| 148 | +````markdown |
| 149 | +```json {.paper} |
| 150 | +"title": "Towards automatic academic pages", |
| 151 | +"authors": "Templato Urnehm, U. N. Owen", |
| 152 | +"venue": "Principles of Awesomeness (PAW)", |
| 153 | +"year": "2023", |
| 154 | +"url": "https://basicpage.github.io", |
| 155 | +"files": [ |
| 156 | + { "text": "Paper", "type": "pdf", "src": "foo.pdf" }, |
| 157 | + { "text": "Bibtex", "type": "bib", "src": "foo.bib" }, |
| 158 | + { "text": "Formalisation", "type": "code", "src": "foo.v" } |
| 159 | +] |
| 160 | +``` |
| 161 | +```` |
| 162 | + |
| 163 | +> [!WARNING] |
| 164 | +> Make sure to respect JSON syntax, in particular place commas where they are |
| 165 | +> needed, and only there. Test locally before you push. |
| 166 | + |
| 167 | +> [!TIP] |
| 168 | +> You can input multiple files at once by using `papers` (with an `s`) instead |
| 169 | +> of `paper`. In that case, papers must be bracketed properly, and the way to do |
| 170 | +> so differs in YAML and JSON. |
| 171 | +> Have a look at `index.md` to see how it's done. |
| 172 | + |
| 173 | +The file that handles papers is `pandoc/paper.lua` and you may modify it to suit |
| 174 | +your needs. Currently, it expects the fields `title` and `authors` (it will |
| 175 | +assume them to be empty otherwise), while the other fields (`venue`, `year`, |
| 176 | +`url` and `files`) are optional. |
| 177 | + |
| 178 | +- `title`: Title of your paper. Will be used as header of the block. |
| 179 | +- `authors`: List of authors. |
| 180 | +- `awards` (optional, string or list of string): Award(s) that your paper may |
| 181 | + have received. |
| 182 | +- `venue` (optional): Journal or conference. |
| 183 | +- `year` (optional): Date of the conference, if present it is going to be in |
| 184 | + parentheses after the venue (unless the venue is absent in which case it |
| 185 | + will be alone on its line without parentheses). A more precise date is |
| 186 | + possible, in the end this is just treated as a string. |
| 187 | +- `url` (optional): If present, the header will also be a link pointing to the |
| 188 | + provided URL. |
| 189 | +- `files` (optional): A list of files that will be presented as links on one |
| 190 | + line with an icon depending on the file type. |
| 191 | + Each item must contain the following fields that will be assumed empty if |
| 192 | + absent: |
| 193 | + + `text`: Text that will appear. |
| 194 | + + `src`: URL to the file, it can be local. |
| 195 | + + `type`: Type of file. If no value is present, then the icon will be that of |
| 196 | + an undifferentiated file. |
| 197 | + The possible values are: |
| 198 | + * `pdf` |
| 199 | + * `bib` |
| 200 | + * `code` |
| 201 | + * `video` |
| 202 | + * `txt` |
| 203 | + * `img` |
| 204 | + * `zip` |
| 205 | + * `slides` |
| 206 | + * `link` |
| 207 | + * `git` |
| 208 | + |
| 209 | +## Updating the HTML template |
| 210 | + |
| 211 | +The `pandoc/template.html4` file contains an HTML template which you can edit |
| 212 | +to suit your taste. Any variable mentioned in the header of your `index.md` can |
| 213 | +be moved around, and you can even add your own. |
| 214 | + |
| 215 | +There is also a special filter called `pandoc/date.lua` which produces an extra |
| 216 | +variable called `date` (unless it is already provided in the header) that is |
| 217 | +currently used in the footer of the template to indicate the last time the page |
| 218 | +was generated. |
| 219 | + |
| 220 | +> [!NOTE] |
| 221 | +> It will only appear in the footer if the `footer` variable is set. |
| 222 | + |
| 223 | +## Sharing files |
| 224 | + |
| 225 | +Anything you put in the `website` directory will be available online too. |
| 226 | +For instance, you can add PDF of your papers and so on and then link them |
| 227 | +(or not) from `index.md`. |
| 228 | + |
| 229 | +## Authors |
| 230 | + |
| 231 | +- Yannick Forster |
| 232 | +- Théo Winterhalter |
0 commit comments