Absolute beginner

Hi, community
just starting my very first Jekyll site. :wink: Therefore I have a lot of questions. The most important one for rhe moment is: How do I start a website not locally but on a server in order to be displayed in the web. Something like that: https;//example.com

Om https://jekyllrb.com/docs/step-by-step/01-setup/ I only see instructions in order to start a local site. Has anybody got a link for further information?

thanks
rabo

Hello and welcome

This is a helpful community so ask when you get stuck but also look at the Jekyll docs and the older forum posts with a search.

When you run Jekyll locally, you typically run

jekyll serve

You can add options like --trace for error details and --livereload to reload the page when you save a file change.

Another way to run Jekyll locally is

jekyll build
cd _site
python3 -m http.serve 8000

And then view in your browser as localhost:8000

Once you have the output of HTML files and other assets, you don’t need Jekyll to live as a server or even installed where the site is serving from

You can move your site directory somewhere for nginx or apach to serve it locally.

You can build it on your remote server on AWS with Jekyll and serve it there with nginx. You can use FTP to move it somewhere and serve it.

The easiest way to get started with a remote server is to add your content to master on github pages. Including a homepage index.md file and a config file. No build step necessary, no build output to commit. Just push your site to GitHub and enable GitHub Pages on your repo’s settings.

You can take this quickstart and click Use this template.

I have an even simpler site here

Both samples on live on GH Pages for free and if you have a custom domain like example.com you can find a tutorial to set that up too.

Hi Michael,
thaks for the answer, but maybe I explained wrongly what I want. :wink: I am web designer / developer and a client asked me to code his next project with jekyll due to short loading times. OK. so I will do that. I do not seem to be that difficult.

But what I do not understand at all: All the descriptions on how to start a project are about local development. But I want to show the site in the web under a domain. Therefore - sooner or later - I will have to upload it to my server. So what I am looking for is how to upload/ activate a website on a server, not locally.

I hope I could explain my idea. English is not my first language… sorry.
rabo

[UPDATE]
Maybe I got it all wrong. I am used to code either HTML or WordPress. In both cases, I upload files to my server by FTP. In case of WordPress I connect to the database via PHP. (short version… :wink: )

So what is different in Jekyll? Do I have to upload it to GitHub? …Just push your site to GitHub and enable GitHub Pages on your repo’s settings…

I do not understand one word. Sorry, I think I have a basic problem of undertanding it right from the start. Maybe you can help me in that case.
Thanks
[/UPDATE]

You can go to step 10 of the tutorial you linked

Note the part where it links to CI. So you could use GitHub Actions or CircleCI or Jenkins etc. to build and publish your site.


It is up to you how to do this. Jekyll just makes a folder of files - you need to choose where to run it and serve from.

You might leave out CI and just run this locally

jekyll build

And then copy the files in _site to your server with FTP. Or maybe use AWS to copy the files to S3 using the browser or using the aws CLI. And then restart Nnginx or Apache.

I would highly recommend using GitHub Pages or Netlify to build and serve your site and then you can put a custom domain on top. But if you really want a separate server that you own then follow notes above.

OK, thanks. The problem seems to be, that I think in wrong structures (classical HTML…), therefore I cannot resolve the problem.

Okay I see your part about Wordpress.

In Jekyll there is no PHP server or database. Only HTML (and images, JS and CSS files).

If you want to build your site locally and then upload using FTP, that sounds like it will work for you. I do that with one of my sites. I don’t even have to restart Apache - the changes are there immediately.

The FTP approach doesn’t need GitHub at all. It is convenient though to share your code on github even in a private repo for your team.

The FTP approach takes manual effort and is an old fashioned way. So maybe you start with that and then move to GitHub + GitHub Pages later. Because simply committing on GitHub or pushing code to GitHub will trigger a build for you. I often edit my GH Pages sites on my phone. I don’t have to touch FTP or Nginx care about building and moving code as it is all all automated.

OK, thanks. I see. Maybe i will hire someone to arrange everything for the first time. Later on he can explain me, what he did. That will be the fastest way. :wink:

The coding itself - as I heard - is more or less the same like “nomal” HTML/ CSS stuff. In that case, the start is the only problem now. :wink:

Thanks anyway.

when you run jekyll build (or serve) it will create all the html files for your site - and your entire site will be in the _site folder. This would be the classical html you mention. You can take everything in there and ftp it or copy to where ever you want. So if you are already doing that with what you are doing now it should be the same thing.

Using GH for hosting, or using a CI or putting it on AWS S3 are all good options too and can be a little easier once you understand how it all works.

1 Like

you need to upload everything in your jekyll _site folder to the root folder on your server the way you have always done with ftp (probably sftp). thats it.

Hi roadie,
OK that is good news. :wink: But what means everything? Lets say, I just want to craete a very simple website. In HTML it would have - lets say - two pages and a style.css. The pages would be:

  • index.html (content: “Hello world”)
  • a subfolder and inide of it another site e.g.- subsite1.html (content: “I am a subsite”)
  • style.css(content: body, div, p {font-size: 12px; color: #000;} )

So if you just tell me which files i have to upload in such a case, I think, I can continue on my own.

thanks
Raphael

[UPDATE] Both of my hosters denied, that I can run Jekyll on a shared server. They said, that I will have to rent my own server. That is nor very helpfull, cause it is both expensive and needs much more work then just bookiing a shared hosting.

So if there is any possibility of avoiding to rent a server for running Jekyll in the web, please inform me.
[/UPDATE]

you run jekyll locally - not on the server.

When you run jekyll build or jekyll serve it will create a _site directory at the root of your project - have you seen that? that has your rendered site, you would take everything there and ftp it to your server/host.

1 Like

Hi everybody,
thank you for all these answers so far. Unfortunately, I had no real success until now. My main problem is the first steps. Once this is done I will mostly work in CSS. This is no problem for me. But until now I always worked on PHP based CMSs. That is why I can’t proceed. :frowning:

So I did another trial today. Once again I had an error message. I would be very glad if you could have a look at the messages I received on the Mac terminal. They are stored here. https://pastebin.com/TNMnZmSZ

What is my problem?

Thank you!
Raphael

Look at the recommendation just before the error 1 line

brew install ruby-dev

Hi Michael,
Thanks, but unfortunately I am not used to working with the console. So I cannot understand what the messages mean,

Lets start with detailed questions:

  1. line 6: WARNING: You don’t have /Users/raphaelbolius-catalina/.gem/ruby/2.6.0/bin in your PATH,

What does that mean? How can I change that in order to eliminate this warning?

If I can change that, I suppose the result will be better. (?)

  1. I do not find any line that has the content you quote:
    brew install ruby-dev
    Where is that written??

I am now trying since 10 days or more to have a result. But I do not. So maybe it would be better to ask somebody who is familiar with that kind of installing to help me. either by Skype or by teamviewer.

How much time it would take a pro to do that approximately? Knowing that I might ask on freelancer,com for help. Maybe that is better than investing more time in a task I cannot resolve. (?)

Thanks
Raphael

From this

You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
 
extconf failed, exit code 1

So run the brew line I sent and then gem install line as before should work.

It looks like you did run this.

echo 'export PATH="$HOME/.gem/ruby/2.6.0/bin:$PATH"' >> ~/.bash_profile

So f you reload the terminal and do gem install line again, you should not get the warning about path.

BTW The PATH setup matters for executing bundler and Jekyll from anywhere and won’t stop an install.

You have my email. I haven’t seen any messages recently but I can help on a video call if you are still stuck

Hi Michal,
thank you in the first place. :wink:
Then: Oh myGod. The whole thing is a nightmare. I am used to install Wordpress and start working on the code. Now I try to install Jekyll since 10 days.

I had several offers of different freelancers that say, that they can do it, but they need approx. 6 hours to install Jekyll on my machine and connect it to an URL. Ist that right? I cannot believe it and rather think they want to earn lots of money in a short tie.

OK, to make it short:

  1. YES I would gladfully accept your offer of helping me directly. But remember: I have no glue about the whole topic. I never used the command line before and I do not know what is a gem and so on. SORRY!

  2. I suppose after that one is finished, I will have to learn a lot about the command line and all of that stuff. I already learned a lot of things in computing so that will be no problem. but just now, I have no idea…

THANKS!
Raphael

Thanks for the clarity. It has hard to remember my first time using command line and using Jekyll

If you get no more errors after the current one is solved with brew then I think you are set and don’t need help installing Jekyll and certainly won’t take 6 hours.
Regarding connecting to a URL, you want to do that separate from your machine. Like use a free service like Netlify or GH Pages to build your site and put your bought domain on top of it. Any self hosted server will be more troublesome - and once someone helps you set it up you won’t be able to work on it alone.
And you probably have experience with setting up a domain that has a folder for serving and using FTP to move the content there and that you won’t need an expert to do for you.

Once you have Jekyll installed, you only need to use a build command and a serve command. The deploy using CI or FTP or something can then be figured out.

I think more of the learning will be around syntax and pattern for Jekyll templating. Your knowledge of HTML, CSS and JS will be useful and you can stick to basic Jekyll functionality initially