         # This approach to public "editor"/viewer types is temporary.
         if extra_opts.public_access
             opts.read_only = true
-            if filename_extension_notilde(filename) == 'html'
+            fn_extension = filename_extension_notilde(filename)
+            if fn_extension == 'html'
                 if opts.content.indexOf("#ipython_notebook") != -1
                     editor = new JupyterNBViewer(@, filename, opts.content)
                 else
                     editor = new StaticHTML(@, filename, opts.content, extra_opts)
                 return editor
+            if fn_extension == 'ipynb'
+                return new JupyterNBViewerEmbedded(@, filename, opts.content)
 
         # These are used *ONLY* for development purposes; it allows us to easily
         # circumvent everything else for testing.

        @element = jupyter.jupyter_nbviewer(@editor, @filename, @content, @opts)
        @wrapped = @element.data('jupyter_nbviewer')

#############################################
# Editor for HTML/Markdown/ReST documents
#############################################

    else
        return 'fa-file-o'

PUBLIC_ACCESS_UNSUPPORTED = ['terminal','latex','history','tasks','course', 'chat', 'git', 'template']

# public access file types *NOT* yet supported
# (this should quickly shrink to zero)
