lego issueshttps://gitlab.torproject.org/tpo/web/lego/-/issues2023-11-09T18:58:07Zhttps://gitlab.torproject.org/tpo/web/lego/-/issues/62Titles have hardcoded capitalization in https://www.torproject.org/is/releases/2023-11-09T18:58:07ZemmapeelTitles have hardcoded capitalization in https://www.torproject.org/is/releases/https://www.torproject.org/is/releases/ Title has a hardcoded capitaliation rule, so that the string that in weblate looks like: `Hvað er nýtt í Tor-vafranum` is shown as:
![capitalized-title](/uploads/7b7875af17b81da9639a737f48a13dea/c...https://www.torproject.org/is/releases/ Title has a hardcoded capitaliation rule, so that the string that in weblate looks like: `Hvað er nýtt í Tor-vafranum` is shown as:
![capitalized-title](/uploads/7b7875af17b81da9639a737f48a13dea/capitalized-title.png)
This is a no-no in Icelandic and Greek, at least. In many languages, it does not even make sense because there are no capital letters.
Please do not use this css rules, as it is not i18n-friendly. See https://gitlab.torproject.org/tpo/community/l10n/-/wikis/Localization-for-developers#3-no-hardcoded-uppercases-or-capitalization for more information
Thanks @sveinki for spotting it.Jérôme Charaouilavamind@torproject.orgJérôme Charaouilavamind@torproject.orghttps://gitlab.torproject.org/tpo/web/lego/-/issues/61Styling of banner does not work in RTL2023-10-31T13:46:34ZemmapeelStyling of banner does not work in RTLThe banner's styling does not work in the /ar/ or /fa/ locales, needs to get the alignment to the other direction
![Screenshot_from_2023-10-16_21-25-30](/uploads/6d1b682d7cdf9e8395247e4e1c77d8ff/Screenshot_from_2023-10-16_21-25-30.png)The banner's styling does not work in the /ar/ or /fa/ locales, needs to get the alignment to the other direction
![Screenshot_from_2023-10-16_21-25-30](/uploads/6d1b682d7cdf9e8395247e4e1c77d8ff/Screenshot_from_2023-10-16_21-25-30.png)Jérôme Charaouilavamind@torproject.orgJérôme Charaouilavamind@torproject.orghttps://gitlab.torproject.org/tpo/web/lego/-/issues/59Remove YEC banner from website(s)2023-01-06T20:27:51Zal smithRemove YEC banner from website(s)Hi! We can now remove the year-end campaign banner from torproject.org / donate.tpo / community.tpo / support.tpo (and anywhere else it might be living)Hi! We can now remove the year-end campaign banner from torproject.org / donate.tpo / community.tpo / support.tpo (and anywhere else it might be living)Year End Campaign 2022https://gitlab.torproject.org/tpo/web/lego/-/issues/58fallback.js is causing scrolling issues on page load2023-10-31T13:46:34ZKezfallback.js is causing scrolling issues on page loadlego has a "fallback.js" script that uses javascript to fallback to PNGs if SVG is not supported. i'm not sure it's useful since SVG support is [99%+ supported](https://caniuse.com/?search=svg), and a user without SVG likely also has no ...lego has a "fallback.js" script that uses javascript to fallback to PNGs if SVG is not supported. i'm not sure it's useful since SVG support is [99%+ supported](https://caniuse.com/?search=svg), and a user without SVG likely also has no javascript.
but the main issue is that [at the end of the script](https://gitlab.torproject.org/tpo/web/lego/-/blob/3d8002591b1a6df64e27624bd08d7a91d8e4c763/assets/static/js/fallback.js#L41-50) there's code specific to support.tpo. When used on sites other than support.tpo, this snippet causes the viewport to scroll directly to the top of the page. this script is included in the default footer template, which is used in most of the sites. this means that most of our sites are loading, and then flinging users back to the very top of the page.
the end of this script needs to be moved to its own script in support, and we may want to consider removing the rest of the script (the actual fallback) altogetherhttps://gitlab.torproject.org/tpo/web/lego/-/issues/57libsass is deprecated, lektor-scss is broken2023-01-05T20:52:33ZKezlibsass is deprecated, lektor-scss is broken<https://sass-lang.com/blog/libsass-is-deprecated>
in !63 i added the lektor-scss plugin (which is based on libsass) so that sites could compile their own scss, with the goal being to lower the barrier-of-entry to newer contributors. in...<https://sass-lang.com/blog/libsass-is-deprecated>
in !63 i added the lektor-scss plugin (which is based on libsass) so that sites could compile their own scss, with the goal being to lower the barrier-of-entry to newer contributors. in !74 i fixed a deprecation warning in dart sass about using the `/` operator for division by replacing it with the new `math.div` function. libsass doesn't have this function, meaning that lektor-scss couldn't compile our scss
fortunately, we can easily replace the libsass api in the lektor-scss plugin with a new api that just `Popen`s the dart sass binary
- [x] partially rewrite lektor-scss to use dart sass: small (1 day), low (x1.1) (<https://gitlab.torproject.org/kez/lektor-scss>)
- [x] have the lektor ci builds pull in the dart sass binary (if needed): medium (3 days), moderate (x1.5) (in progress: <tpo/tpa/ci-templates!36>)
- [x] document the new plugin behavior, & the new ci behavior: small (1 day), low (x1.1)
- [x] write docs/scripts to help new contributors get the dart sass binary without issue: medium (3 days), low (x1.1)
time estimate: 10 dayshttps://gitlab.torproject.org/tpo/web/lego/-/issues/56creating an install procedure for lektor_markdown_image_attrs2023-10-31T13:46:34ZKezcreating an install procedure for lektor_markdown_image_attrslavamind has been trying to get lektor_markdown_image_attrs to actually play nicely with our `packages` directory !73. because the plugin uses the hatch build system, it doesn't have a setup.py file and pip won't install it. the solution...lavamind has been trying to get lektor_markdown_image_attrs to actually play nicely with our `packages` directory !73. because the plugin uses the hatch build system, it doesn't have a setup.py file and pip won't install it. the solution is to build a source distribution and to have pip install that.
the problem is that `lektor plugins reinstall` doesn't install the source distribution by default. running `pip install package/*` works great, but it's not currently part of our CI flow, or our documentation.
which brings us to the point of this ticket: agreeing on a way to install this new package since our current method doesn't work
---
we've decided on using a requirements.txt file in each repository to manage dependencies. the next steps are:
1. [x] move lektor-requirements.txt from tpo/tpa/ci-templates to tpo/web/lego
2. [x] update lego everywhere
4. [x] set ci builds to install `lego/lektor-requirements.txt` and `requirements.txt` (if it exists)
3. [x] add a requirements.txt file to any lektor repo that uses additional packages
5. [x] add lektor_markdown_image_attrs as a dependency in `lego/lektor-requirements.txt`https://gitlab.torproject.org/tpo/web/lego/-/issues/55Compile SCSS in CI, stop tracking CSS files in git2024-02-14T20:42:10ZKezCompile SCSS in CI, stop tracking CSS files in gitbuilding off of #27
problem 1: building SCSS is hard for many newcomers, and can even be a source of frustrations for people with more experience with our workflow ("oops, i forgot to run `sass` when i changed the scss!").
problem 2: t...building off of #27
problem 1: building SCSS is hard for many newcomers, and can even be a source of frustrations for people with more experience with our workflow ("oops, i forgot to run `sass` when i changed the scss!").
problem 2: tracking the built CSS in git is a bad idea. every rebuild creates *enormous* diffs which make the git history almost unreadable, and also inflates the size of the lego repo, which affects the build and development time for *every* website. we could also find ourselves in a situation where the SCSS is changed and committed, but the CSS isn't.
both of these problems can be solved by making lektor build the SCSS instead of having developers do it manually. #27 was a poorly thought-out implementation and its related RFC has been rejected. this ticket is an attempt to do things the right way.
the lektor-scss package is already in lego, so here are the next steps:
1. add lektor-scss config files to the different website repos
1. have CI build the SCSS
1. stop tracking the built CSS in legohttps://gitlab.torproject.org/tpo/web/lego/-/issues/54Decide on log settings for the new tor-launcher2022-10-24T15:50:53ZPier Angelo VendrameDecide on log settings for the new tor-launcher!348 introduced a few loggers.
They are different objects, which is okay for me, since they can have their own tags that are styled differently in Firefox, in this way.
However, I wasn't consistent with the level to enable, beside writ...!348 introduced a few loggers.
They are different objects, which is okay for me, since they can have their own tags that are styled differently in Firefox, in this way.
However, I wasn't consistent with the level to enable, beside writing that I should have added a preference for them.
Should we add this preference/these preferences? And only one to rule them all, or do we want to allow fine-grained control?https://gitlab.torproject.org/tpo/web/lego/-/issues/53Decide how to display multi-locale Alphas on /download/alpha2022-10-27T16:54:39ZdonutsDecide how to display multi-locale Alphas on /download/alphaI think the simplest solution would be to retain the current table with a single row for the multi-locale build for Alpha.
We can also add a line/paragraph of copy to the page explaining the change. As a result of removing the individua...I think the simplest solution would be to retain the current table with a single row for the multi-locale build for Alpha.
We can also add a line/paragraph of copy to the page explaining the change. As a result of removing the individual builds, the exact languages Tor Browser Alpha is available in will no longer be obvious – so we should include a list of supported locales somewhere as well.
This will need to get elevated to a support article eventually, but that can wait until this feature reaches stable in Tor Browser 12.0.
Due date is a guesstimate – we'll need to have a plan in place ahead of 12.0a4's launch by the end of the month. See https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40627 for details.2022-10-28https://gitlab.torproject.org/tpo/web/lego/-/issues/52Header banner for YEC '222022-10-19T18:53:39ZnicobHeader banner for YEC '22Hey @hackerncoder! This year we're aiming to launch the Year End Campaign by October 13th (with some wiggle room to the following week if necessary). We position this banner above the site header on torproject.org, donate.torproject.org...Hey @hackerncoder! This year we're aiming to launch the Year End Campaign by October 13th (with some wiggle room to the following week if necessary). We position this banner above the site header on torproject.org, donate.torproject.org, community.torproject.org and support.torproject.org (you can see last year's [on the wayback machine here](https://web.archive.org/web/20211108011121/https://www.torproject.org/)).
Here's a mockup of this year's banner for mobile pending any edits from @duncan:
![torproject-banner-mobile](/uploads/4e36cc05b506aca508088b65f5a8e7e8/torproject-banner-mobile.png)
Desktop:
![torproject-banner-desktop](/uploads/7e1e26cbb680fef06aac60ab2b0e81a1/torproject-banner-desktop.png)
You can inspect files here: [Figma](https://www.figma.com/file/B2ON9c7tewUb7FDjtUS5FZ/Process%3A-YEC-'22-Creative?node-id=270%3A2407#274080983)
Mobile background image:
- [yec-bg-mobile-2x](/uploads/b08774dd428d26e8ab00dca5b70597f6/yec-bg-mobile-2x.png)
- [yec-bg-mobile-3x](/uploads/d207ed15f0d42f642ac3c4c05e402dc1/yec-bg-mobile-3x.png)
Mobile foreground image:
- [yec-foreground-mobile-2x](/uploads/c4b28c1f58b4ef88d711a346f5b1ff8d/yec-foreground-mobile-2x.png)
- [yec-foreground-mobile-3x](/uploads/2da60f67a1b1011d5c66f1b9b9083b45/yec-foreground-mobile-3x.png)
Desktop background image:
* [yec-bg-desktop-banner-2x](https://gitlab.torproject.org/tpo/web/lego/uploads/004814f546b68f1c81d8b155e9f0b2ec/yec-bg-desktop-banner-2x.png)
* [yec-bg-desktop-banner-3x](https://gitlab.torproject.org/tpo/web/lego/uploads/e2e40df7ec6d37426ae761d76084f586/yec-bg-desktop-banner-3x.png)
Desktop foreground image:
- [yec-foreground-2x](/uploads/42d6b826c7bdf3396fef91d196b0e3f8/yec-foreground-2x_12x.png)
- [yec-foreground-3x](/uploads/eb064c9fa064c1568072de4538206502/yec-foreground-2x_13x.png)
Fonts:
* [Space Mono](https://fonts.google.com/specimen/Space+Mono?vfquery=mono&query=space)
* [Space Grotesk](https://fonts.google.com/specimen/Space+Grotesk?vfquery=mono&query=space)
* I don't have the best understanding of what the devs have been doing so far to make these fonts work best for localization, but I think everything you might need to reference is here: https://gitlab.torproject.org/tpo/applications/torbutton/-/merge_requests/92#note_2837686
Buttons:
- Most of the button states are in the figma file
- Focus is not in the file but should follow what's being implemented in about:tor, which I believe is a 2px `outline-offset`, 2px width, and `#C0FF00` for `outline-color`
Other notes:
- Minimum banner height should be 360px but will need to expand with localization
- Last year, there was this note from Duncan "I think it would work best if the button anchor links down to the main content area of donate.torproject.org" - not sure if that is the case again this year, tagging @smith here to weigh in
Let me know if you have any questions or if there's anything here that I should change. Thank you!!Year End Campaign 2022https://gitlab.torproject.org/tpo/web/lego/-/issues/51web IDE crashes browser / takes too long to load for tpo/content/blog (TPA-RF...2023-03-06T19:35:54Zal smithweb IDE crashes browser / takes too long to load for tpo/content/blog (TPA-RFC-48)I follow [these instructions to post on the blog](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service/blog#how-to-write-a-new-blog-post-in-gitlab). When I get to [step 4](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service/...I follow [these instructions to post on the blog](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service/blog#how-to-write-a-new-blog-post-in-gitlab). When I get to [step 4](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service/blog#4-click-the-web-ide-button-just-above-the-file-listing) and click on content > blog, the fun begins.
I almost always get this message: "This page is slowing down your browser. To speed up your browser, stop this page." Usually this disrupts the /blog folder from loading and I have to click /blog again.
In some cases, about 15% of total blog post folders load, and then the page freezes, and it reverts back to the root /contents folder, and I have to click /blog again.
In writing this ticket, I tried to open tpo/web/blog with the web IDE:
- in Tor Browser, it took me 9 minutes to successfully load tpo/web/blog with the web IDE (this is with roughly 4 complete stops, returns to contents, clicking on /blog again, and attempting to reload)
- in Firefox, it took me 4 minutes to successfully load tpo/web/blog web IDE
In a world where all I ever need to do is load the web IDE one time, upload the contents and lead, and everything is perfect, and then I can ask someone to merge my post, this might be tolerable. But I have to use the web IDE to make any edits... and I am not a markdown, html, or git expert, so I definitely need to edit things multiple times. This adds up extremely fast if it takes 10 minutes to build a preview.
I know @duncan has also had this issue, maybe he can comment here to validate me, heh.Jérôme Charaouilavamind@torproject.orgJérôme Charaouilavamind@torproject.orghttps://gitlab.torproject.org/tpo/web/lego/-/issues/49We need a purple telegram icon2022-07-22T00:39:44ZKezWe need a purple telegram iconOn <https://www.torproject.org/contact/> we're missing a purple telegram icon for our telegram link. lego/assets/static/fonts/fontawesome/png/primary/brands doesn't have a telegram icon. I found [the icon on fontawesome](https://fontawes...On <https://www.torproject.org/contact/> we're missing a purple telegram icon for our telegram link. lego/assets/static/fonts/fontawesome/png/primary/brands doesn't have a telegram icon. I found [the icon on fontawesome](https://fontawesome.com/v6/icons/telegram?s=brands) but we'll need to make it purple.
@nicob would you be able to make that icon purple for us, or point me to one we already have that I don't know about? Thanks!https://gitlab.torproject.org/tpo/web/lego/-/issues/47Write a script to partially automate updating lego2022-07-27T18:45:48ZKezWrite a script to partially automate updating legoWhenever something in lego gets updated, all of the sites need to update the submodule, commit, and push. This has eaten a lot of time in the past. It isn't hard, just slow.
I'll be writing a script to automate updating lego for all the...Whenever something in lego gets updated, all of the sites need to update the submodule, commit, and push. This has eaten a lot of time in the past. It isn't hard, just slow.
I'll be writing a script to automate updating lego for all the sites. The flow will look something like this:
for each web repo:
1. checkout a new branch named `update-lego-{lego_hash}` that tracks `origin/main`
2. cd into the lego directory
3. `git pull origin main ; cd ..`
4. add the lego directory, commit, and push to a new branch on the remote
5. print merge request URLs and errorshttps://gitlab.torproject.org/tpo/web/lego/-/issues/46Tor logo should link to homepage2022-05-04T22:43:16ZbashirkTor logo should link to homepageThe Tor logo should link back to the main [Tor homepage](https://torproject.org). This would provide for a consistent style guide and a better user experience. The _yellow_ donate button always leads to the donate page, similarly, the To...The Tor logo should link back to the main [Tor homepage](https://torproject.org). This would provide for a consistent style guide and a better user experience. The _yellow_ donate button always leads to the donate page, similarly, the Tor logo should lead to the Tor project homepage.
The current method to switch to the main homepage is by removing the subdomain or retyping the homepage URL in the browser's current address bar.https://gitlab.torproject.org/tpo/web/lego/-/issues/45Duplicate bootstrap CSS files2022-02-23T22:26:52ZJérôme Charaouilavamind@torproject.orgDuplicate bootstrap CSS filesIt looks like there's stale copies of `bootstrap.css` and friends in [assets/static](https://gitlab.torproject.org/tpo/web/lego/-/tree/main/assets/static). The real files seem to be in [assets/static/css](https://gitlab.torproject.org/tp...It looks like there's stale copies of `bootstrap.css` and friends in [assets/static](https://gitlab.torproject.org/tpo/web/lego/-/tree/main/assets/static). The real files seem to be in [assets/static/css](https://gitlab.torproject.org/tpo/web/lego/-/tree/main/assets/static/css)
We should consider cleaning that up.https://gitlab.torproject.org/tpo/web/lego/-/issues/44investigate the possibility of styling markdown images2022-12-12T14:55:53Zemmapeelinvestigate the possibility of styling markdown imagesOur lektor-based webpages have their canonical address (for example: https://support.torproject.org/ ) but they can be redeployed on other addresses.
This is an interesting feature when we think about censorship circumvention. For examp...Our lektor-based webpages have their canonical address (for example: https://support.torproject.org/ ) but they can be redeployed on other addresses.
This is an interesting feature when we think about censorship circumvention. For example, maybe our website is blocked, but if our documentation is built in gitlab pages as well, the censor will also have to block gitlab.
We also use this feature to deploy our websites on the https://review.torproject.net/tpo/web/ service, where we can review merge requests and see if the break the website, before merging.
But if we add images, for example, as /static/images/whatever.png, and link to them with an absolute link, i.e. '/static/images/whatever.png', this alternative versions of our website will not work anymore.
That is why we should always add a relative link when writing content.
But what about images?
How can we add images and be sure that they are relative in the code?
# Adding with markdown
This is the preferred way.
If we add images in lektor with `![alt text](/static/image/whatever.png)`, lektor will convert that link into a relative link, and it will also adapt it when needed for localization (the translations from the main page, /, are in subdomains like /es/ or /fr/).
The problem with this solution is that **it does not allow for styling of the images**.
So, to allow contributors to use markdown while adding style to the images (a most prominent style was width=100%), we can use a technique like the one expressed on this website:
https://web.archive.org/web/20220313053237/https://www.xaprb.com/blog/how-to-style-images-with-markdown/
With this system, you could add an image for example with:
`![alt](/static/image/whatever.png#fullwidth)`
and have fullwidth to be a class on our CSS style sheet.
The trick is to define a style in the CSS using the selector `*=`, and the src attribute that standard Markdown supports:
```
img[src*="#fullwidth"] {
width:150px;
height:100px;
}
```Jérôme Charaouilavamind@torproject.orgJérôme Charaouilavamind@torproject.orghttps://gitlab.torproject.org/tpo/web/lego/-/issues/42Remove YEC banner and restore donate button2022-01-10T21:28:10ZdonutsRemove YEC banner and restore donate buttonThe Year End Campaign is officially over, and was a massive success!
As such, we need to do following in lego:
- [x] Remove the privacy is a human right banner (old ticket: https://gitlab.torproject.org/tpo/web/lego/-/issues/28)
- [x] ...The Year End Campaign is officially over, and was a massive success!
As such, we need to do following in lego:
- [x] Remove the privacy is a human right banner (old ticket: https://gitlab.torproject.org/tpo/web/lego/-/issues/28)
- [x] Restore the donate button (old ticket: https://gitlab.torproject.org/tpo/web/lego/-/issues/35)2022-01-07https://gitlab.torproject.org/tpo/web/lego/-/issues/41Renaming master -> main2022-03-30T23:46:19ZKezRenaming master -> mainToday I'm renaming lego's default branch from master to main (context: <https://gitlab.torproject.org/tpo/web/team/-/issues/5>)
I'm not sure if gitlab or gitweb is the canonical source for lego, so I'll be renaming both. First I'll rena...Today I'm renaming lego's default branch from master to main (context: <https://gitlab.torproject.org/tpo/web/team/-/issues/5>)
I'm not sure if gitlab or gitweb is the canonical source for lego, so I'll be renaming both. First I'll rename gitlab to get anarcat's nice script to edit any MRs and issues that reference master, then I'll rename gitweb to make sure both remotes are synced.
After the rename I'll be checking all the lego projects to make sure none of them explicitly reference the master branch, and I'll fix any that are.
After this rename you'll need to change the remote your local branch is tracking:
```
git branch master -u origin/main
```
And you can optionally rename your local branch:
```
git branch -m master main
```
After the rename, I'll leave this issue up for about a week to make sure people see it if they run into issues with the rename.https://gitlab.torproject.org/tpo/web/lego/-/issues/37Lektor adds text from po files when building on debian 11 / python 3.9.22022-06-06T16:30:18ZHackerNCoderhackerncoder@encryptionin.spaceLektor adds text from po files when building on debian 11 / python 3.9.2See https://community.pages.tor.encryptionin.space/
My server is running deb 11 and python 3.9.2, no matter how I have installed lektor the above is the result.
My local dev whonix is based on deb 10 and has python 3.7.3, I am running...See https://community.pages.tor.encryptionin.space/
My server is running deb 11 and python 3.9.2, no matter how I have installed lektor the above is the result.
My local dev whonix is based on deb 10 and has python 3.7.3, I am running lektor from source, the result of building is what it should be (no extra po file text)https://gitlab.torproject.org/tpo/web/lego/-/issues/34lego has changes on local installs that seem related to the plugins2021-12-10T09:09:14Zemmapeellego has changes on local installs that seem related to the pluginsSince a while I had changes on my legos on the different websites, on the directory `packages/i18n/lektor_i18n.egg-info/PKG-INFO`. Now I also have some changes on `packages/environs/environs.egg-info/PKG-INFO`.
Is this to be expected?
...Since a while I had changes on my legos on the different websites, on the directory `packages/i18n/lektor_i18n.egg-info/PKG-INFO`. Now I also have some changes on `packages/environs/environs.egg-info/PKG-INFO`.
Is this to be expected?
You can see the changes when you compile for example the support portal.
Shouldn't this changes be part of lego?