Ghost probably isn’t what you want if you want to modify “any aspect” of your site. It’s still possible! Ghost is open source:
But modifying anything isn’t (necessarily) easy. Depending on what exactly you want to do, you might need to modify the Ghost code itself.
The Code Injection settings page explains what it’s for too [emphasis mine]:
Ghost allows you to inject code into the top and bottom of your theme files without editing them.
I’m not personally familiar with Ghost theme development, but the Code Injection settings are for extra code ‘on top’ of any them you’re using.
But like anything else, it can be arbitrarily difficult to make Ghost do anything – it’s intended to be a CMS, and thus it’s going to, at least roughly, follow the general conventions of almost any CMS. If you want to do something that’s not easily supported by a CMS, it’s not going to be easy.
If you have a Ghost Pro subscription, you should have a managed ‘instance’ for your site, i.e. a copy of the Ghost software running on some server somewhere.
It seems like the easiest way for you to get started is to use Ghost’s Starter Theme:
You do need to download or ‘clone’ the Git repo for the above onto your computer.
If you’re using a Windows computer, you might want to look into installing and setting up WSL or the Ubuntu app – the tools that the Ghost Starter Theme uses will probably work much better ‘inside a Unixy environment’ and WSL/Ubuntu are probably the easiest way to do that on a Windows computer.
Once you have downloaded/cloned the starter theme, and installed/setup WSL/Ubuntu (on your Windows computer), then you need to install some tools used by the starter theme:
You’ll need Node, Yarn and Gulp installed globally.
Then you can run
yarn to install more tools used by the theme.
When you’re ready to start editing, run
yarn dev – that will build the files when you edit them.
When you’re ready to update your site’s theme with your customizations, you need to run
yarn zip. That will create a ZIP file under the
dist sub-directory (of the Git repo you downloaded/cloned). You will need to upload the ZIP file to your Ghost instance to install it there.
I think maybe part of the confusion you’re running into is because Ghost is ‘easy’ for developers of similar CMS systems – not (necessarily) for people that aren’t already familiar with that. I know a lot of people with Ghost sites hire outside developers to customize their themes and make similar changes to their sites.