Comments (13)
I'm going to go ahead and close this issue since it's so unlikely that others will run into it. Also, I've since reinstalled my OS without encryption and this issue no longer affects me.
Just in case someone does have the same problem in the future, the workaround I used was to change these lines:
Lines 14 to 16 in 2f3c21c
to the following:
const slug = `/${dasherize(block)}/${dasherize(
title
)}`;
Then running yarn develop
passes. The only problem seems to be that certain pages like the intro to each section don't work. All the challenges load, though.
from learn.
Oh thats weird... those files are generated and used by gatsby
. Perhaps @KyleAMathews could help? Maybe something to search for in the gatsbyjs/gatsby repo.
from learn.
Okay! Thanks for the quick response. I'll take a look around the gatsby repo to see if there were any other people with similar issues.
from learn.
Did you find a solution @scissorsneedfoodtoo?
from learn.
Yes, I was able to find a solution, but unfortunately it means shortening the slug by removing the superBlock from each, leaving them with just the block and title. However this would mean the URL for each page is more in line with beta. For example, beta is now:
https://beta.freecodecamp.org/en/challenges/css-grid/create-your-first-css-grid
Currently Learn is:
https://learn.freecodecamp.org/responsive-web-design/css-grid/create-your-first-css-grid
And by removing the superBlock would be:
https://learn.freecodecamp.org/css-grid/create-your-first-css-grid
We could always shorten the titles of the three challenges causing the error, too, but that doesn't seem ideal. Let me know what you think! In the meantime I'll keep looking around the gatsby repo to see if there's another solution.
from learn.
@scissorsneedfoodtoo thanks for confirming the issue. We should raise this in the gatsby repo so they can look at potential work-arounds, seeing as they are generated and used by gatsby
itself.
There are a couple of reasons the url slug has changed from production/beta -> learn
/challenges/
has been dropped as thelearn
subdomain is solely for the challenges/lessons provided by freeCodeCamp. We are not hosting any account or meta specific pages (/about
,/settings
etc...) on the learn subdomain, so the differentiation is not required./superBlock/block/challenge
was selected to improve SEO. We are adding pages at both the/superBlock
and/superBlock/block
levels which will index the content for that block/superBlock. For example, someone searching to learn about microservices will hopefully land on the/apis-and-microservices
route and see a list of all the blocks taught in that section, instead of landing on a random challenge potentially halfway through or at the end of a block.
I hope this clears up why things have changed in this respect 😁
from learn.
@Bouncey, thank you for the explanation! That does certainly clear things up about the changes to the url slug. I especially like the idea of improved SEO and users hopefully being shown a list of all the blocks rather than being thrown into the thick of things.
There was a similar issue that I found in the gatsby repo, similarly encrypted Linux system, too. I'll comment there and see about a work-around.
from learn.
@scissorsneedfoodtoo nice find! Could you link to it from here please so we can track it 👍
from learn.
Sure! It's issue #4125 in the gatsby repo. I'll write a comment about the issue here a little later today.
from learn.
@scissorsneedfoodtoo Would you like to rename the challenges so that they allow contributors like you to work locally?
from learn.
@Bouncey, I think it's okay for now. @tchaffee and I are probably in the minority, and it's not a problem to edit the challenge names to work locally. Maybe if a lot of other users run into the same issue we can rename those challenges.
Just to keep you posted about what's going on in the open issue in the Gatsby repo, @KyleAMathews suggested and algorithm to do the following:
- Naively create the original filename
- Create a hash the original file name
- remove common words e.g. and, an, or, etc. I'm sure there's an NPM package for this,
- Append the hash to the shortened file name
- if the file name is too long still, split the name at dashes and remove words until the name + hash is < MAX_FILE_NAME_LENGTH
Thought about offering to help implement the method above, but didn't want to mess with the SEO here.
from learn.
I am running Windows 10 Pro 64-bit, if you need me to try anything on windows, let me know.
from learn.
In case it helps someone, my workaround was to move the repo out of my home directory.
from learn.
Related Issues (20)
- Accept value 0 without measure unit HOT 1
- Random quotes for 404 page flickers HOT 10
- Flash message hard to read in night mode. HOT 1
- Improve the "ask for help" forum post autopopulation functionality HOT 1
- Error in comment in a JS regex page HOT 3
- "Map is not a function" in a Rosetta Code problem HOT 4
- "Responsive Web Design Principles: Create a Media Query" test is not forgiving. HOT 1
- Support for curriculum challenge translations HOT 1
- Dasherize in learn HOT 1
- News page link not in navigation bar on learn.freecodecamp.org HOT 1
- curriculum - insert category on HTML5
- Cannot see the curriculum
- Profile picture overflow
- All challenges which test if something is console.logged are not working HOT 2
- [CI Tests] Add test for challenges that use `console.log`
- [CI Tests] Define a test suit that can handle unit -> integration -> e-2-e tests
- Update package.json so @freecodecamp/curriculum in recent version 3.1.2 or later
- Better install instruction for Learn
- Learn platform doesn't work on Edge Browser Windows 10
- Streak being shown wrong
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from learn.