Zeppelin allows you to use one of the notebooks you create as your zeppelin Homepage. With that you can brand your zeppelin installation, adjust the instruction to your users needs and even translate to other languages.
The process for creating your homepage is very simple as shown below:
Create a new notebook using zeppelin,
you can use
%md interpreter for markdown content or any other interpreter you like.
Run (shift+Enter) the notebook and see the output. Optionally, change the notebook view to report to hide the code sections.
To set the notebook id in the config file you should copy it from the last word in the notebook url
Set the notebook id to the
ZEPPELIN_NOTEBOOK_HOMESCREEN environment variable
You can also set the
ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE environment variable
zeppelin.notebook.homescreen.hide property to hide the new notebook from the notebook list.
Restart your zeppelin server
./bin/zeppelin-deamon stop ./bin/zeppelin-deamon start
If you want to display the list of notebooks on your custom zeppelin homepage all you need to do is use our %angular support.
Add the following code to a paragraph in you home page and run it... walla! you have your notebooks list.
println( """%angular <div class="col-md-4" ng-controller="HomeCtrl as home"> <h4>Notebooks</h4> <div> <h5><a href="" data-toggle="modal" data-target="#noteNameModal" style="text-decoration: none;"> <i style="font-size: 15px;" class="icon-notebook"></i> Create new note</a></h5> <ul style="list-style-type: none;"> <li ng-repeat="note in home.notes.list track by $index"><i style="font-size: 10px;" class="icon-doc"></i> <a style="text-decoration: none;" href="#/notebook/"></a> </li> </ul> </div> </div> """)
After running the notebook you will see output similar to this one:
The main trick here relays in linking the
<div> to the controller:
<div class="col-md-4" ng-controller="HomeCtrl as home">
Once we have
home as our controller variable in our
we can use
home.notes.list to get access to the notebook list.