Repository: readthedocs/readthedocs.org

Issue:
Invalid message on just imported / simple repositories
When you create a project in github with just a `README.md` and import it on RTD, you get this message:

![captura de pantalla_2017-12-04_10-14-16](https://user-images.githubusercontent.com/244656/33559815-fee4658c-d8db-11e7-8d03-f1324102758f.png)

This message is wrong since the PATH of those failes are invalid/useless for the user. I think this is generated by Sphinx automatically, so I'm not sure if we can change that easily.


Discussion:
Where is generated this file? The only relevant file I found is this https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl :/

Maybe passing some additional context?
Not really sure but IIRC this file is generated by Sphinx itself, maybe that _it's something_ that could help you to find out :/
Found! https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/doc_builder/base.py#L104

So, what should we put on there? Something like this?

> Create an index file on _your repository_ (or docs).
Nice!

    Please create an ``index.{ext}`` or ``README.{ext}`` file with your own content under the root directory in your repository (or under ``/docs`` directory).

Maybe something like that?
@humitos PR on the way!

Resolving patch:
diff --git a/readthedocs/doc_builder/base.py b/readthedocs/doc_builder/base.py
--- a/readthedocs/doc_builder/base.py
+++ b/readthedocs/doc_builder/base.py
@@ -1,11 +1,14 @@
+# -*- coding: utf-8 -*-
 """Base classes for Builders."""
 
-from __future__ import absolute_import
-from builtins import object
-from functools import wraps
-import os
+from __future__ import (
+    absolute_import, division, print_function, unicode_literals)
+
 import logging
+import os
 import shutil
+from builtins import object
+from functools import wraps
 
 log = logging.getLogger(__name__)
 
@@ -19,6 +22,7 @@ def decorator(*args, **kw):
             return fn(*args, **kw)
         finally:
             os.chdir(path)
+
     return decorator
 
 
@@ -27,11 +31,12 @@ class BaseBuilder(object):
     """
     The Base for all Builders. Defines the API for subclasses.
 
-    Expects subclasses to define ``old_artifact_path``,
-    which points at the directory where artifacts should be copied from.
+    Expects subclasses to define ``old_artifact_path``, which points at the
+    directory where artifacts should be copied from.
     """
 
     _force = False
+
     # old_artifact_path = ..
 
     def __init__(self, build_env, python_env, force=False):
@@ -41,13 +46,11 @@ def __init__(self, build_env, python_env, force=False):
         self.project = build_env.project
         self._force = force
         self.target = self.project.artifact_path(
-            version=self.version.slug,
-            type_=self.type
-        )
+            version=self.version.slug, type_=self.type)
 
     def force(self, **__):
         """An optional step to force a build even when nothing has changed."""
-        log.info("Forcing a build")
+        log.info('Forcing a build')
         self._force = True
 
     def build(self):
@@ -59,16 +62,16 @@ def move(self, **__):
         if os.path.exists(self.old_artifact_path):
             if os.path.exists(self.target):
                 shutil.rmtree(self.target)
-            log.info("Copying %s on the local filesystem", self.type)
+            log.info('Copying %s on the local filesystem', self.type)
             shutil.copytree(self.old_artifact_path, self.target)
         else:
-            log.warning("Not moving docs, because the build dir is unknown.")
+            log.warning('Not moving docs, because the build dir is unknown.')
 
     def clean(self, **__):
-        """Clean the path where documentation will be built"""
+        """Clean the path where documentation will be built."""
         if os.path.exists(self.old_artifact_path):
             shutil.rmtree(self.old_artifact_path)
-            log.info("Removing old artifact path: %s", self.old_artifact_path)
+            log.info('Removing old artifact path: %s', self.old_artifact_path)
 
     def docs_dir(self, docs_dir=None, **__):
         """Handle creating a custom docs_dir if it doesn't exist."""
@@ -87,9 +90,11 @@ def create_index(self, extension='md', **__):
         """Create an index file if it needs it."""
         docs_dir = self.docs_dir()
 
-        index_filename = os.path.join(docs_dir, 'index.{ext}'.format(ext=extension))
+        index_filename = os.path.join(
+            docs_dir, 'index.{ext}'.format(ext=extension))
         if not os.path.exists(index_filename):
-            readme_filename = os.path.join(docs_dir, 'README.{ext}'.format(ext=extension))
+            readme_filename = os.path.join(
+                docs_dir, 'README.{ext}'.format(ext=extension))
             if os.path.exists(readme_filename):
                 return 'README'
             else:
@@ -101,9 +106,13 @@ def create_index(self, extension='md', **__):
 
 This is an autogenerated index file.
 
-Please create a ``{dir}/index.{ext}`` or ``{dir}/README.{ext}`` file with your own content.
+Please create an ``index.{ext}`` or ``README.{ext}`` file with your own content
+under the root (or ``/docs``) directory in your repository.
 
 If you want to use another markup, choose a different builder in your settings.
+Check out our `Getting Started Guide
+<https://docs.readthedocs.io/en/latest/getting_started.html>`_ to become more
+familiar with Read the Docs.
                 """
 
                 index_file.write(index_text.format(dir=docs_dir, ext=extension))
@@ -111,5 +120,5 @@ def create_index(self, extension='md', **__):
         return 'index'
 
     def run(self, *args, **kwargs):
-        """Proxy run to build environment"""
+        """Proxy run to build environment."""
         return self.build_env.run(*args, **kwargs)


Test patch: