forked from fediversity/fediversity
		
	Remove trailing whitespace everywhere
This commit is contained in:
		
							parent
							
								
									142af8d0ee
								
							
						
					
					
						commit
						740b5447d8
					
				
					 25 changed files with 104 additions and 104 deletions
				
			
		|  | @ -94,11 +94,11 @@ Not everyone has the expertise and time to run their own server. | |||
| 
 | ||||
| - Resource | ||||
| 
 | ||||
|   A [resource for NixOps4](https://nixops.dev/manual/development/concept/resource.html) is any external entity that can be declared with NixOps4 expressions and manipulated with NixOps4, such as a virtual machine, an active NixOS configuration, a DNS entry, or customer database.  | ||||
|   A [resource for NixOps4](https://nixops.dev/manual/development/concept/resource.html) is any external entity that can be declared with NixOps4 expressions and manipulated with NixOps4, such as a virtual machine, an active NixOS configuration, a DNS entry, or customer database. | ||||
| 
 | ||||
| - Resource provider | ||||
| 
 | ||||
|   A resource provider for NixOps4 is an executable that communicates between a resource and NixOps4 using a standardised protocol, allowing [CRUD operations](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) on the resources to be performed by NixOps4.  | ||||
|   A resource provider for NixOps4 is an executable that communicates between a resource and NixOps4 using a standardised protocol, allowing [CRUD operations](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) on the resources to be performed by NixOps4. | ||||
|   Refer to the [NixOps4 manual](https://nixops.dev/manual/development/resource-provider/index.html) for details. | ||||
| 
 | ||||
|   > Example: We need a resource provider for obtaining deployment secrets from a database. | ||||
|  |  | |||
|  | @ -46,7 +46,7 @@ These are the components we're going to use: | |||
| ## Synapse | ||||
| 
 | ||||
| This is the core component: the Matrix server itself, you should probably | ||||
| install this first.  | ||||
| install this first. | ||||
| 
 | ||||
| Because not every usecase is the same, we'll describe two different | ||||
| architectures: | ||||
|  |  | |||
|  | @ -78,10 +78,10 @@ denied-peer-ip=203.0.113.0-203.0.113.255 | |||
| 
 | ||||
| # TURN server allocates address family according TURN client requested address family. | ||||
| # If address family not requested explicitly by the client, then it falls back to this default. | ||||
| # The standard RFC explicitly define that this default must be IPv4,  | ||||
| # so use other option values with care!  | ||||
| # Possible values: "ipv4" or "ipv6" or "keep"  | ||||
| # "keep" sets the allocation default address family according to  | ||||
| # The standard RFC explicitly define that this default must be IPv4, | ||||
| # so use other option values with care! | ||||
| # Possible values: "ipv4" or "ipv6" or "keep" | ||||
| # "keep" sets the allocation default address family according to | ||||
| # the TURN client allocation request connection address family. | ||||
| allocation-default-address-family="ipv4" | ||||
| 
 | ||||
|  |  | |||
|  | @ -86,7 +86,7 @@ nginx to forward requests for reports to Draupnir: | |||
| location ~ ^/_matrix/client/(r0|v3)/rooms/([^/]*)/report/(.*)$ { | ||||
|     # The r0 endpoint is deprecated but still used by many clients. | ||||
|     # As of this writing, the v3 endpoint is the up-to-date version. | ||||
|      | ||||
| 
 | ||||
|     # Alias the regexps, to ensure that they're not rewritten. | ||||
|     set $room_id $2; | ||||
|     set $event_id $3; | ||||
|  | @ -101,7 +101,7 @@ location /_synapse/admin/v1/event_reports { | |||
|     proxy_set_header Host $host; | ||||
|     client_max_body_size 50M; | ||||
|     proxy_http_version 1.1; | ||||
|      | ||||
| 
 | ||||
| location ~ ^/_synapse/admin/v1/rooms/([^/]*)/context/(.*)$ { | ||||
|     set $room_id $2; | ||||
|     set $event_id $3; | ||||
|  |  | |||
|  | @ -308,7 +308,7 @@ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash | |||
| 
 | ||||
| Exit and login again to set some environment variables (yes, the installation | ||||
| changes .bashrc). Then install and upgrade: | ||||
|   | ||||
| 
 | ||||
| ``` | ||||
| nvm install 23 | ||||
| sudo apt install yarnpkg | ||||
|  |  | |||
|  | @ -187,14 +187,14 @@ server { | |||
|     listen [::]:80; | ||||
|     listen 443 ssl http2; | ||||
|     listen [::]:443 ssl http2; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/element.example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/element.example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name element.example.com; | ||||
|      | ||||
| 
 | ||||
|     location / { | ||||
|         if ($scheme = http) { | ||||
|             return 301 https://$host$request_uri; | ||||
|  | @ -204,10 +204,10 @@ server { | |||
|         add_header X-XSS-Protection "1; mode=block"; | ||||
|         add_header Content-Security-Policy "frame-ancestors 'self'"; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     root /usr/share/element-web; | ||||
|     index index.html; | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/elementweb-access.log; | ||||
|     error_log /var/log/nginx/elementweb-error.log; | ||||
| } | ||||
|  | @ -225,16 +225,16 @@ another vhost, something like this: | |||
| server { | ||||
|     listen 443 ssl; | ||||
|     listen [::]:443 ssl; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/admin.example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/admin.example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name admin.example.com; | ||||
|      | ||||
| 
 | ||||
|     root /var/www/synapse-admin; | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/admin-access.log; | ||||
|     error_log /var/log/nginx/admin-error.log; | ||||
| } | ||||
|  | @ -256,7 +256,7 @@ location ~ ^/_synapse/admin { | |||
|     allow 111.222.111.222; | ||||
|     allow dead:beef::/64; | ||||
|     deny all; | ||||
|      | ||||
| 
 | ||||
|     proxy_pass http://localhost:8008; | ||||
|     proxy_set_header X-Forwarded-For $remote_addr; | ||||
|     proxy_set_header X-Forwarded-Proto $scheme; | ||||
|  | @ -281,14 +281,14 @@ Then create a virtual host much like this: | |||
| server { | ||||
|     listen 443 ssl; | ||||
|     listen [::]:443 ssl; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/livekit.example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/livekit.example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name livekit.example.com; | ||||
|      | ||||
| 
 | ||||
|     # This is lk-jwt-service | ||||
|     location ~ ^(/sfu/get|/healthz) { | ||||
|         proxy_pass http://[::1]:8080; | ||||
|  | @ -298,19 +298,19 @@ server { | |||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|         proxy_set_header X-Forwarded-Proto $scheme; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location / { | ||||
|         proxy_pass http://[::1]:7880; | ||||
|         proxy_set_header Connection "upgrade"; | ||||
|         proxy_set_header Upgrade $http_upgrade; | ||||
|          | ||||
| 
 | ||||
|         proxy_set_header Host $host; | ||||
|         proxy_set_header X-Forwarded-Server $host; | ||||
|         proxy_set_header X-Real-IP $remote_addr; | ||||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|         proxy_set_header X-Forwarded-Proto $scheme; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/livekit-access.log; | ||||
|     error_log /var/log/nginx/livekit-error.log; | ||||
| } | ||||
|  | @ -326,34 +326,34 @@ should be the configuration to publish that: | |||
| server { | ||||
|     listen 443 ssl; | ||||
|     listen [::]:443 ssl; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/call.example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/call.example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name call.example.com; | ||||
|      | ||||
| 
 | ||||
|     root /var/www/element-call; | ||||
|      | ||||
| 
 | ||||
|     location /assets { | ||||
|         add_header Cache-Control "public, immutable, max-age=31536000"; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location /apple-app-site-association { | ||||
|         default_type application/json; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location /^config.json$ { | ||||
|         alias public/config.json; | ||||
|         default_type application/json; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location / { | ||||
|         try_files $uri /$uri /index.html; | ||||
|         add_header Cache-Control "public, max-age=30, stale-while-revalidate=30"; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/call-access.log; | ||||
|     error_log /var/log/nginx/call-error.log; | ||||
| } | ||||
|  |  | |||
|  | @ -1,34 +1,34 @@ | |||
| server { | ||||
|     listen 443 ssl; | ||||
|     listen [::]:443 ssl; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/call.example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/call.example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name call.example.com; | ||||
|      | ||||
| 
 | ||||
|     root /var/www/element-call; | ||||
|      | ||||
| 
 | ||||
|     location /assets { | ||||
|         add_header Cache-Control "public, immutable, max-age=31536000"; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location /apple-app-site-association { | ||||
|         default_type application/json; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location /^config.json$ { | ||||
|         alias public/config.json; | ||||
|         default_type application/json; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location / { | ||||
|         try_files $uri /$uri /index.html; | ||||
|         add_header Cache-Control "public, max-age=30, stale-while-revalidate=30"; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/call-access.log; | ||||
|     error_log /var/log/nginx/call-error.log; | ||||
| } | ||||
|  |  | |||
|  | @ -3,14 +3,14 @@ server { | |||
|     listen [::]:80; | ||||
|     listen 443 ssl; | ||||
|     listen [::]:443 ssl; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name example.com; | ||||
|      | ||||
| 
 | ||||
|     location /.well-known/matrix/client { | ||||
|         return 200 '{ | ||||
|             "m.homeserver": {"base_url": "https://matrix.example.com"}, | ||||
|  | @ -23,7 +23,7 @@ server { | |||
|         default_type application/json; | ||||
|         add_header 'Access-Control-Allow-Origin' '*'; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location /.well-known/matrix/server { | ||||
|         return 200 '{"m.server": "matrix.example.com"}'; | ||||
|         default_type application/json; | ||||
|  | @ -44,18 +44,18 @@ server { | |||
|         default_type application/json; | ||||
|     } | ||||
| 
 | ||||
|      | ||||
| 
 | ||||
|     location /.well-known/element/element.json { | ||||
|         return 200 '{"call": {"widget_url": "https://call.example.com"}}'; | ||||
|         default_type application/json; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location / { | ||||
|         if ($scheme = http) { | ||||
|             return 301 https://$host$request_uri; | ||||
|         } | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/example-access.log; | ||||
|     error_log /var/log/nginx/example-error.log; | ||||
| } | ||||
|  |  | |||
|  | @ -3,27 +3,27 @@ server { | |||
|     listen [::]:80; | ||||
|     listen 443 ssl http2; | ||||
|     listen [::]:443 ssl http2; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/element.example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/element.example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name element.example.com; | ||||
|      | ||||
| 
 | ||||
|     location / { | ||||
|         if ($scheme = http) { | ||||
|             return 301 https://$host$request_uri; | ||||
|         } | ||||
|         add_header X-Frame-Options SAMEORIGIN; | ||||
|         add_header X-Content-Type-Options nosniff;  | ||||
|         add_header X-Content-Type-Options nosniff; | ||||
|         add_header X-XSS-Protection "1; mode=block"; | ||||
|         add_header Content-Security-Policy "frame-ancestors 'self'"; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     root /usr/share/element-web; | ||||
|     index index.html; | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/elementweb-access.log; | ||||
|     error_log /var/log/nginx/elementweb-error.log; | ||||
| } | ||||
|  |  | |||
|  | @ -1,14 +1,14 @@ | |||
| server { | ||||
|     listen 443 ssl; | ||||
|     listen [::]:443 ssl; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/livekit.example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/livekit.example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name livekit.example.com; | ||||
|      | ||||
| 
 | ||||
|     # This is lk-jwt-service | ||||
|     location ~ ^(/sfu/get|/healthz) { | ||||
|         proxy_pass http://[::1]:8080; | ||||
|  | @ -18,20 +18,20 @@ server { | |||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|         proxy_set_header X-Forwarded-Proto $scheme; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     location / { | ||||
|         proxy_pass http://[::1]:7880; | ||||
|         proxy_set_header Connection "upgrade"; | ||||
|         proxy_set_header Upgrade $http_upgrade; | ||||
|         #add_header Access-Control-Allow-Origin "*" always; | ||||
|          | ||||
| 
 | ||||
|         proxy_set_header Host $host; | ||||
|         proxy_set_header X-Forwarded-Server $host; | ||||
|         proxy_set_header X-Real-IP $remote_addr; | ||||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|         proxy_set_header X-Forwarded-Proto $scheme; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/livekit-access.log; | ||||
|     error_log /var/log/nginx/livekit-error.log; | ||||
| } | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ server { | |||
| 	location ~ ^/_matrix/client/(r0|v3)/rooms/([^/]*)/report/(.*)$ { | ||||
| 		# The r0 endpoint is deprecated but still used by many clients. | ||||
| 		# As of this writing, the v3 endpoint is the up-to-date version. | ||||
| 		 | ||||
| 
 | ||||
| 		# Alias the regexps, to ensure that they're not rewritten. | ||||
| 		set $room_id $2; | ||||
| 		set $event_id $3; | ||||
|  | @ -53,7 +53,7 @@ server { | |||
| 		client_max_body_size 50M; | ||||
| 		proxy_http_version 1.1; | ||||
| 	} | ||||
| 		 | ||||
| 
 | ||||
| 	# The rest of the admin endpoint shouldn't be public | ||||
| 	location ~ ^/_synapse/admin { | ||||
| 		allow 127.0.0.1; | ||||
|  |  | |||
|  | @ -1,16 +1,16 @@ | |||
| server { | ||||
|     listen 443 ssl; | ||||
|     listen [::]:443 ssl; | ||||
|      | ||||
| 
 | ||||
|     ssl_certificate /etc/letsencrypt/live/admin.example.com/fullchain.pem; | ||||
|     ssl_certificate_key /etc/letsencrypt/live/admin.example.com/privkey.pem; | ||||
|     include /etc/letsencrypt/options-ssl-nginx.conf; | ||||
|     ssl_dhparam /etc/ssl/dhparams.pem; | ||||
|      | ||||
| 
 | ||||
|     server_name admin.example.com; | ||||
|      | ||||
| 
 | ||||
|     root /var/www/synapse-admin; | ||||
|      | ||||
| 
 | ||||
|     access_log /var/log/nginx/admin-access.log; | ||||
|     error_log /var/log/nginx/admin-error.log; | ||||
| } | ||||
|  |  | |||
|  | @ -282,7 +282,7 @@ Now that we have defined the workers and/or worker pools, we have to forward | |||
| the right traffic to the right workers. The Synapse documentation about | ||||
| [available worker | ||||
| types](https://element-hq.github.io/synapse/latest/workers.html#available-worker-applications) | ||||
| lists which endpoints a specific worker type can handle.  | ||||
| lists which endpoints a specific worker type can handle. | ||||
| 
 | ||||
| ## Login | ||||
| 
 | ||||
|  | @ -323,7 +323,7 @@ requests: | |||
| ``` | ||||
| 
 | ||||
| We forward those to our 2 worker pools making sure the heavy initial syncs go | ||||
| to the `initial_sync` pool, and the normal ones to `normal_sync`. We use the  | ||||
| to the `initial_sync` pool, and the normal ones to `normal_sync`. We use the | ||||
| variable `$sync`for that, which we defined in maps.conf. | ||||
| 
 | ||||
| ``` | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| # should be stored under /etc/nginx/conf.d so that it is loaded whenever nginx starts. | ||||
| 
 | ||||
| # List of allowed origins, can only send one. | ||||
| map $http_origin $allow_origin {  | ||||
| map $http_origin $allow_origin { | ||||
|         ~^https?://element.example.com$ $http_origin; | ||||
|         ~^https?://call.example.com$ $http_origin; | ||||
|         ~^https?://someserver.example.com$ $http_origin; | ||||
|  |  | |||
|  | @ -192,7 +192,7 @@ See the included files for more elaborate examples, and check | |||
| Synapse should probably be able to send out e-mails; notifications for those | ||||
| who want that, and password reset for those who need one. | ||||
| 
 | ||||
| You configure this under the section `email` (yes, really).  | ||||
| You configure this under the section `email` (yes, really). | ||||
| 
 | ||||
| First of all, you need an SMTP-server that is configured to send e-mail for | ||||
| your domain. Configuring that is out of scope, we'll assume we can use the | ||||
|  | @ -294,7 +294,7 @@ password_config: | |||
| 
 | ||||
| With this bit, we configure Synapse to let users pick and change their own | ||||
| passwords, as long as they meet the configured conditions. Mind you: `pepper` is | ||||
| a secret random string that should *NEVER* be changed after initial setup.  | ||||
| a secret random string that should *NEVER* be changed after initial setup. | ||||
| 
 | ||||
| But in a bigger environment you'll probably want to use some authentication | ||||
| backend, such as LDAP. LDAP is configured by means of a module (see | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ password_config: | |||
|   policy: | ||||
|     enabled: only_for_reauth | ||||
|     localdb_enabled: false | ||||
|      | ||||
| 
 | ||||
| password_providers: | ||||
|   - module: "ldap_auth_provider.LdapAuthProvider" | ||||
|     config: | ||||
|  |  | |||
|  | @ -153,7 +153,7 @@ listeners: | |||
|     type: http | ||||
|     resources: | ||||
|       - names: | ||||
|         - replication  | ||||
|         - replication | ||||
| ``` | ||||
| 
 | ||||
| This means Synapse will create two sockets under `/run/matrix-synapse`: one | ||||
|  |  | |||
|  | @ -3,54 +3,54 @@ | |||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .column { | ||||
|     flex-basis: calc(50% - 10px); /* Adjust width as necessary */ | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .list { | ||||
|     list-style-type: none; | ||||
|     padding: 0; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .list-item { | ||||
|     margin-bottom: 10px; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .link { | ||||
|     text-decoration: none; | ||||
|     color: inherit; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .title { | ||||
|     font-weight: bold; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .hr-list { | ||||
|     border: 0; | ||||
|     border-top: 1px solid #ccc; | ||||
|     margin-top: 5px; | ||||
|     margin-bottom: 5px; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .list-item { | ||||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|     align-items: center; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .content { | ||||
|     flex: 1; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .link { | ||||
|     text-align: left; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .time { | ||||
|     text-align: right; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
| 
 | ||||
|   .grid-container { | ||||
|     display: grid; | ||||
|  | @ -78,12 +78,12 @@ | |||
|   .read-more-link { | ||||
|     color: #FF6E00; /* Use the variable defined in theme.json */ | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .center-wrapper { | ||||
|     display: flex; | ||||
|     justify-content: center; | ||||
|     align-items: center; | ||||
|      | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   .grid-container-small { | ||||
|  | @ -102,7 +102,7 @@ | |||
|     display: flex; | ||||
|     justify-content: center; | ||||
| 
 | ||||
|      | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|   .hr-list2 { | ||||
|  | @ -115,7 +115,7 @@ | |||
|   .header-with-image2 { | ||||
|     text-align: center; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   .header-with-image2 img { | ||||
|     display: inline-block; | ||||
| 
 | ||||
|  |  | |||
|  | @ -34,7 +34,7 @@ features3: | |||
|     button: | ||||
|       enable: true | ||||
|       label: "Learn more" | ||||
|       link: "/oid"       | ||||
|       link: "/oid" | ||||
| 
 | ||||
|   - title: "Tweag" | ||||
|     image: "/images/users.svg" | ||||
|  | @ -42,7 +42,7 @@ features3: | |||
|     button: | ||||
|       enable: true | ||||
|       label: "Learn more" | ||||
|       link: "/tweag"       | ||||
|       link: "/tweag" | ||||
| 
 | ||||
|   - title: "NORDUnet" | ||||
|     image: "/images/users.svg" | ||||
|  | @ -50,7 +50,7 @@ features3: | |||
|     button: | ||||
|       enable: true | ||||
|       label: "Learn more" | ||||
|       link: "/nordunet"             | ||||
|       link: "/nordunet" | ||||
| 
 | ||||
| features: | ||||
|   - title: "Fediversity Grants" | ||||
|  | @ -59,7 +59,7 @@ features: | |||
|     button: | ||||
|       enable: true | ||||
|       label: "Learn more" | ||||
|       link: "/grants"       | ||||
|       link: "/grants" | ||||
| 
 | ||||
| features2: | ||||
|   - title: "Individuals" | ||||
|  |  | |||
|  | @ -18,5 +18,5 @@ | |||
| 
 | ||||
|     </div> | ||||
|   </div> | ||||
| </section>  | ||||
| </section> | ||||
| {{ end }} | ||||
|  |  | |||
|  | @ -58,7 +58,7 @@ | |||
| 
 | ||||
|         </div> | ||||
| 
 | ||||
|      | ||||
| 
 | ||||
|       </article> | ||||
|     </div> | ||||
| 
 | ||||
|  |  | |||
|  | @ -61,4 +61,4 @@ | |||
|   </div> | ||||
| </section> | ||||
| 
 | ||||
| {{ end }}  | ||||
| {{ end }} | ||||
|  | @ -14,14 +14,14 @@ | |||
|           <a class="link" href="{{ .RelPermalink }}" style="color: #FF6E00">{{ .Title }}</a> | ||||
|         </div> | ||||
|         <hr class="hr-list"> | ||||
|          | ||||
| 
 | ||||
|         <time class="g time" datetime="{{ dateFormat "2006-01-02" .Date }}">{{ dateFormat "02-01-2006" .Date }}</time> | ||||
|         <hr class="hr-list2"> | ||||
|       </li> | ||||
|       <div class="line"></div> | ||||
|       {{ end }} | ||||
|     </ul> | ||||
|      | ||||
| 
 | ||||
|   </section> | ||||
|   {{ end }} | ||||
| </ul> | ||||
|  |  | |||
|  | @ -63,7 +63,7 @@ | |||
| 
 | ||||
|         </div> | ||||
| 
 | ||||
|      | ||||
| 
 | ||||
|       </article> | ||||
|     </div> | ||||
| 
 | ||||
|  |  | |||
|  | @ -45,7 +45,7 @@ | |||
| <div class="container"> | ||||
|   <div class="grid-container"> | ||||
|     {{ range $i, $e := .Params.features3 }} | ||||
|      | ||||
| 
 | ||||
|     <div class="grid-item"> | ||||
| 
 | ||||
|       <div class="header-with-image2"> | ||||
|  | @ -89,7 +89,7 @@ | |||
|       > | ||||
|         <h2 class="mb-4">{{ .title | markdownify }}</h2> | ||||
|         <p class="mb-8 text-lg">{{ .content | markdownify }}</p> | ||||
|         <ul>  | ||||
|         <ul> | ||||
|           {{ range .bulletpoints }} | ||||
|           <li class="relative mb-4 pl-6"> | ||||
|             <i class="fa fa-check absolute left-0 top-1.5"></i> | ||||
|  | @ -147,7 +147,7 @@ | |||
| {{ if gt (len (where .Site.RegularPages "Section" "blog")) 0 }} | ||||
| <section> | ||||
| 
 | ||||
|   <div class="center-wrapper">  | ||||
|   <div class="center-wrapper"> | ||||
|   <div class="grid-container-small"> | ||||
|     <div class="column"> | ||||
|       <ul class="list"> | ||||
|  | @ -164,7 +164,7 @@ | |||
|                 <a class="link" href="{{ .RelPermalink }}" style="color: #FF6E00">{{ .Title }}</a> | ||||
|               </div> | ||||
|               <hr class="hr-list"> | ||||
|                | ||||
| 
 | ||||
|               <time class="g time" datetime="{{ dateFormat "2006-01-02" .Date }}">{{ dateFormat "02-01-2006" .Date }}</time> | ||||
|               <hr class="hr-list2"> | ||||
|             </li> | ||||
|  | @ -189,7 +189,7 @@ | |||
|                 <a class="link" href="{{ .RelPermalink }}" style="color: #FF6E00">{{ .Title }}</a> | ||||
|               </div> | ||||
|               <hr class="hr-list"> | ||||
|                | ||||
| 
 | ||||
|               <time class="g time" datetime="{{ dateFormat "2006-01-02" .Date }}">{{ dateFormat "02-01-2006" .Date }}</time> | ||||
|               <hr class="hr-list2"> | ||||
|             </li> | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue