Heroku: Uploading a static site on Heroku?

Viewed 2979

I'm building my portfolio and made simple etch-a-sketch project with HTML/CSS and Javascript. I'm trying to host the site on Heroku but i'm getting this error:

remote:  !     No default language could be detected for this app.
remote:             HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
remote:             See https://devcenter.heroku.com/articles/buildpacks

This is basically a static site, I don't really need a buildpack, is there any way I can still push what I have to Heroku?

4 Answers

You can perform these steps:-

1) Add a file called composer.json to the root directory by running touch composer.json

2) Add a file called index.php to the root directory by running touch index.php

3) Rename the homepage (e.g. index.html) to home.html

4) In index.php, add the following line: <?php include_once("home.html"); ?>

5) In composer.json, add the following line: {}

6) Run git push heroku master

OR

While being in your website directory run these commands

1) $ echo '{}' > composer.json

2) $ echo '<?php include_once("home.html"); ?>' > index.php

3) $ mv index.html home.html(If you already have a HTML file name index)

Thanks to @wh1tney Here is the link to her post.

Link:- https://gist.github.com/wh1tney/2ad13aa5fbdd83f6a489

You can try to follow the these steps:

  1. Rename your index.html file to home.html
  2. Create a file called index.php in the root directory
  3. Write the following line in the file <?php include_once("home.html"); ?>
  4. Now, create a file called composer.json and write the follwing line in it: {}
  5. Now say $ git add.
  6. $ git commit -m "deploying static--err, dynamic site to heroku"
  7. heroku login

Enter your Heroku credentials:
Email: <YOUR HEROKU EMAIL>
Password: <YOUR HEROKU PASSWORD>

  1. heroku create
  2. heroku git:remote -a
  3. git push heroku master

Here's a simpler strategy:

Navigate to your project in the command prompt:

cd Projects/my-site

Log in to heroku in your terminal or command prompt:

heroku login

Note: Do not rename the index.html file to home.html. This will not fit in for this strategy.

Create an index.php file and insert this one line of code (<?php header( 'Location: /index.html' ) ; ?> into it:

echo '<?php header( 'Location: /index.html' ) ;  ?>' index.php

Add the changes to git:

git init
git add .

Then you want to commit or save all the changes for your site. With a message describing what you’ve done.

git commit -m "my site ready for deployment"

Now you want to create your site on Heroku. If you’re already logged in (because you ran heroku login earlier), you can issue the following command:

heroku apps:create my-static-site

Insert your desired name instead of my-static-site.

If the name isn’t taken you can deploy your site using git.

git push heroku master

You can now visit your site at https://<whatever-name-you-selected>.herokuapp.com/ or my example site here https://my-static-site.herokuapp.com/.

If you need to, make changes to your site of the following 3 commands.

Add the changes…

git add .

Save the changes…

git commit -m "add useful message"

Then deploy…

git push heroku master

Resource: How to Deploy a Static Site to Heroku

That's all.

I hope this helps

Related