Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial
Samuel Yanez
27,790 PointsHow to create a blogging website?
Hi guys! Recently I decided to make my own personal website to post the projects I have been working here in Treehouse and on my own. Here is the link: www.samuelyanez.com. However, I started thinking on how my website is going to scale once I have 50 projects? 100 projects? Right now, I create a new html file for each new project. But, I have 50 projects, will I need to create 50 new html file? What if I want to make a change? I will have to go through the 50 different file and make the change. There must be a simpler way. Something like a html template where I could just add new stuff. How do big websites like theverge.com add new content? I really doubt that they modify and create a new html file every time they add an article. Any thoughts on this?
2 Answers
Jennifer Nordell
Treehouse TeacherI see that you haven't done any WordPress courses on here yet. I highly suggest you take a peek at what it is and if it might suit your purposes. It's known as a content management system and Treehouse can get you pointed in the right direction.
Kevin Korte
28,149 PointsYou are correct, they are not adding new html files, cause as you were wise enough to have the foresight to see, it would become unmanageable.
Any site of scale is going to have something called a CMS or a Content Management System. CMS's come in all shapes and sizes, but their goal is the same.
Some larger sites likely have a custom CMS, that allows them to do exactly what they need to do. Many more sites use open sources CMS's like Wordpress, or Drupal.
Wordpress is probably the largest open source and free CMS today. And treehouse has many wordpress courses to get you started.
Most CMS's are highly customizable, and wordpress is no different. You can differently build a portfolio site in wordpress.
The idea behind a CMS site, like a portfolio site you're talking about, is that each project becomes an entry in a database. Pictures are stored in a folder, and their URL is stored in the database. The MVC uses template files for it's views. So for instance, to show a single portfolio, you would only have one file, but when the user navigated to that project, the MVC uses the route or URL to determine which project to pull from the database, and populates that single view dynamically with the information from the database.
The beautiful part about this is that it doesn't matter if you have 50, 100, or 5,000 projects on your portfolio, the number of files and folders you have doesn't change.
And if you want to redesign your site, it's much more easy. Since you just update your template files, every project, would get the new update, since every project would share the same template files.
For CMS's to operate, they need a back end language and run on a server. Something like PHP, Ruby, Python, or Node or very suitable options. Wordpress is built on PHP, which has I think the easiest, and lowest entry bar to server side languages, so it makes a great beginner choice.