github.com/rpdict/ponzu@v0.10.1-0.20190226054626-477f29d6bf5e/docs/build/Content/Extending-Content/index.html (about)

     1  
     2  <!DOCTYPE html>
     3  <html lang="en" class="no-js">
     4    <head>
     5      
     6        <meta charset="utf-8">
     7        <meta name="viewport" content="width=device-width,initial-scale=1">
     8        
     9        
    10        
    11        
    12          <link rel="shortcut icon" href="../../assets/images/favicon.png">
    13        
    14        <meta name="generator" content="mkdocs-0.16.3, mkdocs-material-1.6.1">
    15      
    16      
    17        
    18          <title>Extending Content through built-in Interfaces and optional Addons</title>
    19        
    20      
    21      
    22        <script src="../../assets/javascripts/modernizr-56ade86843.js"></script>
    23      
    24      
    25        <link rel="stylesheet" href="../../assets/stylesheets/application-4d0d3f2fbf.css">
    26        
    27          <link rel="stylesheet" href="../../assets/stylesheets/application-f78e5cb881.palette.css">
    28        
    29      
    30      
    31        
    32          
    33          
    34          
    35          <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
    36          <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
    37        
    38        <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    39      
    40      
    41      
    42    </head>
    43    
    44    
    45    
    46    
    47      <body data-md-color-primary="grey" data-md-color-accent="light-blue">
    48    
    49      <svg class="md-svg">
    50        <defs>
    51          
    52          
    53            <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
    54          
    55        </defs>
    56      </svg>
    57      <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer">
    58      <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search">
    59      <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
    60      
    61        <header class="md-header" data-md-component="header">
    62    <nav class="md-header-nav md-grid">
    63      <div class="md-flex">
    64        <div class="md-flex__cell md-flex__cell--shrink">
    65          
    66            <a href="../.." title="Ponzu" class="md-logo md-header-nav__button">
    67              <img src="../../images/logo.png" width="24" height="24">
    68            </a>
    69          
    70        </div>
    71        <div class="md-flex__cell md-flex__cell--shrink">
    72          <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
    73        </div>
    74        <div class="md-flex__cell md-flex__cell--stretch">
    75          <span class="md-flex__ellipsis md-header-nav__title">
    76            
    77              
    78                
    79                  <span class="md-header-nav__parent">
    80                    Content
    81                  </span>
    82                
    83              
    84              Extending Content
    85            
    86          </span>
    87        </div>
    88        <div class="md-flex__cell md-flex__cell--shrink">
    89          
    90            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
    91            
    92  <div class="md-search" data-md-component="search">
    93    <label class="md-search__overlay" for="search"></label>
    94    <div class="md-search__inner">
    95      <form class="md-search__form" name="search">
    96        <input type="text" class="md-search__input" name="query" required placeholder="Search" accesskey="s" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query">
    97        <label class="md-icon md-search__icon" for="search"></label>
    98        <button type="reset" class="md-icon md-search__icon" data-md-component="reset">close</button>
    99      </form>
   100      <div class="md-search__output">
   101        <div class="md-search__scrollwrap" data-md-scrollfix>
   102          <div class="md-search-result" data-md-component="result">
   103            <div class="md-search-result__meta" data-md-lang-result-none="No matching documents" data-md-lang-result-one="1 matching document" data-md-lang-result-other="# matching documents">
   104              Type to start searching
   105            </div>
   106            <ol class="md-search-result__list"></ol>
   107          </div>
   108        </div>
   109      </div>
   110    </div>
   111  </div>
   112          
   113        </div>
   114        <div class="md-flex__cell md-flex__cell--shrink">
   115          <div class="md-header-nav__source">
   116            
   117              
   118  
   119  
   120    
   121  
   122  
   123    <a href="https://github.com/rpdict/ponzu" title="Go to repository" class="md-source" data-md-source="github">
   124      
   125        <div class="md-source__icon">
   126          <svg viewBox="0 0 24 24" width="24" height="24">
   127            <use xlink:href="#github" width="24" height="24"></use>
   128          </svg>
   129        </div>
   130      
   131      <div class="md-source__repository">
   132        ponzu-cms/ponzu
   133      </div>
   134    </a>
   135  
   136            
   137          </div>
   138        </div>
   139      </div>
   140    </nav>
   141  </header>
   142      
   143      <div class="md-container">
   144        
   145        
   146        <main class="md-main">
   147          <div class="md-main__inner md-grid" data-md-component="container">
   148            
   149              
   150                <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
   151                  <div class="md-sidebar__scrollwrap">
   152                    <div class="md-sidebar__inner">
   153                      <nav class="md-nav md-nav--primary" data-md-level="0">
   154    <label class="md-nav__title md-nav__title--site" for="drawer">
   155      
   156        <i class="md-logo md-nav__button">
   157          <img src="../../images/logo.png">
   158        </i>
   159      
   160      Ponzu
   161    </label>
   162    
   163      <div class="md-nav__source">
   164        
   165  
   166  
   167    
   168  
   169  
   170    <a href="https://github.com/rpdict/ponzu" title="Go to repository" class="md-source" data-md-source="github">
   171      
   172        <div class="md-source__icon">
   173          <svg viewBox="0 0 24 24" width="24" height="24">
   174            <use xlink:href="#github" width="24" height="24"></use>
   175          </svg>
   176        </div>
   177      
   178      <div class="md-source__repository">
   179        ponzu-cms/ponzu
   180      </div>
   181    </a>
   182  
   183      </div>
   184    
   185    <ul class="md-nav__list" data-md-scrollfix>
   186      
   187        
   188        
   189        
   190  
   191  
   192    <li class="md-nav__item">
   193      <a href="../.." title="Home" class="md-nav__link">
   194        Home
   195      </a>
   196    </li>
   197  
   198      
   199        
   200        
   201        
   202  
   203  
   204    <li class="md-nav__item md-nav__item--nested">
   205      
   206        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
   207      
   208      <label class="md-nav__link" for="nav-2">
   209        CLI
   210      </label>
   211      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   212        <label class="md-nav__title" for="nav-2">
   213          CLI
   214        </label>
   215        <ul class="md-nav__list" data-md-scrollfix>
   216          
   217          
   218            
   219            
   220            
   221  
   222  
   223    <li class="md-nav__item">
   224      <a href="../../CLI/General-Usage/" title="General Usage" class="md-nav__link">
   225        General Usage
   226      </a>
   227    </li>
   228  
   229          
   230            
   231            
   232            
   233  
   234  
   235    <li class="md-nav__item">
   236      <a href="../../CLI/Generating-References/" title="Generating References" class="md-nav__link">
   237        Generating References
   238      </a>
   239    </li>
   240  
   241          
   242        </ul>
   243      </nav>
   244    </li>
   245  
   246      
   247        
   248        
   249        
   250  
   251    
   252  
   253  
   254    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
   255      
   256        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3" checked>
   257      
   258      <label class="md-nav__link" for="nav-3">
   259        Content
   260      </label>
   261      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   262        <label class="md-nav__title" for="nav-3">
   263          Content
   264        </label>
   265        <ul class="md-nav__list" data-md-scrollfix>
   266          
   267          
   268            
   269            
   270            
   271  
   272  
   273    <li class="md-nav__item">
   274      <a href="../An-Overview/" title="An Overview" class="md-nav__link">
   275        An Overview
   276      </a>
   277    </li>
   278  
   279          
   280            
   281            
   282            
   283  
   284    
   285  
   286  
   287    <li class="md-nav__item md-nav__item--active">
   288      
   289      <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
   290      
   291      
   292        <label class="md-nav__link md-nav__link--active" for="toc">
   293          Extending Content
   294        </label>
   295      
   296      <a href="./" title="Extending Content" class="md-nav__link md-nav__link--active">
   297        Extending Content
   298      </a>
   299      
   300        
   301  <nav class="md-nav md-nav--secondary">
   302    
   303    
   304    
   305      <label class="md-nav__title" for="toc">Table of contents</label>
   306      <ul class="md-nav__list" data-md-scrollfix>
   307        
   308          <li class="md-nav__item">
   309    <a href="#item-interfaces" title="Item Interfaces" class="md-nav__link">
   310      Item Interfaces
   311    </a>
   312    
   313  </li>
   314        
   315          <li class="md-nav__item">
   316    <a href="#api-interfaces" title="API Interfaces" class="md-nav__link">
   317      API Interfaces
   318    </a>
   319    
   320  </li>
   321        
   322          <li class="md-nav__item">
   323    <a href="#editor-interfaces" title="Editor Interfaces" class="md-nav__link">
   324      Editor Interfaces
   325    </a>
   326    
   327  </li>
   328        
   329          <li class="md-nav__item">
   330    <a href="#search-interfaces" title="Search Interfaces" class="md-nav__link">
   331      Search Interfaces
   332    </a>
   333    
   334  </li>
   335        
   336        
   337        
   338      </ul>
   339    
   340  </nav>
   341      
   342    </li>
   343  
   344          
   345        </ul>
   346      </nav>
   347    </li>
   348  
   349      
   350        
   351        
   352        
   353  
   354  
   355    <li class="md-nav__item md-nav__item--nested">
   356      
   357        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
   358      
   359      <label class="md-nav__link" for="nav-4">
   360        Form Fields
   361      </label>
   362      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   363        <label class="md-nav__title" for="nav-4">
   364          Form Fields
   365        </label>
   366        <ul class="md-nav__list" data-md-scrollfix>
   367          
   368          
   369            
   370            
   371            
   372  
   373  
   374    <li class="md-nav__item">
   375      <a href="../../Form-Fields/HTML-Inputs/" title="HTML Inputs" class="md-nav__link">
   376        HTML Inputs
   377      </a>
   378    </li>
   379  
   380          
   381        </ul>
   382      </nav>
   383    </li>
   384  
   385      
   386        
   387        
   388        
   389  
   390  
   391    <li class="md-nav__item md-nav__item--nested">
   392      
   393        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
   394      
   395      <label class="md-nav__link" for="nav-5">
   396        HTTP APIs
   397      </label>
   398      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   399        <label class="md-nav__title" for="nav-5">
   400          HTTP APIs
   401        </label>
   402        <ul class="md-nav__list" data-md-scrollfix>
   403          
   404          
   405            
   406            
   407            
   408  
   409  
   410    <li class="md-nav__item">
   411      <a href="../../HTTP-APIs/Content/" title="Content" class="md-nav__link">
   412        Content
   413      </a>
   414    </li>
   415  
   416          
   417            
   418            
   419            
   420  
   421  
   422    <li class="md-nav__item">
   423      <a href="../../HTTP-APIs/File-Metadata/" title="File Metadata" class="md-nav__link">
   424        File Metadata
   425      </a>
   426    </li>
   427  
   428          
   429            
   430            
   431            
   432  
   433  
   434    <li class="md-nav__item">
   435      <a href="../../HTTP-APIs/Search/" title="Search" class="md-nav__link">
   436        Search
   437      </a>
   438    </li>
   439  
   440          
   441        </ul>
   442      </nav>
   443    </li>
   444  
   445      
   446        
   447        
   448        
   449  
   450  
   451    <li class="md-nav__item md-nav__item--nested">
   452      
   453        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
   454      
   455      <label class="md-nav__link" for="nav-6">
   456        Interfaces
   457      </label>
   458      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   459        <label class="md-nav__title" for="nav-6">
   460          Interfaces
   461        </label>
   462        <ul class="md-nav__list" data-md-scrollfix>
   463          
   464          
   465            
   466            
   467            
   468  
   469  
   470    <li class="md-nav__item">
   471      <a href="../../Interfaces/API/" title="API" class="md-nav__link">
   472        API
   473      </a>
   474    </li>
   475  
   476          
   477            
   478            
   479            
   480  
   481  
   482    <li class="md-nav__item">
   483      <a href="../../Interfaces/Editor/" title="Editor" class="md-nav__link">
   484        Editor
   485      </a>
   486    </li>
   487  
   488          
   489            
   490            
   491            
   492  
   493  
   494    <li class="md-nav__item">
   495      <a href="../../Interfaces/Format/" title="Format" class="md-nav__link">
   496        Format
   497      </a>
   498    </li>
   499  
   500          
   501            
   502            
   503            
   504  
   505  
   506    <li class="md-nav__item">
   507      <a href="../../Interfaces/Item/" title="Item" class="md-nav__link">
   508        Item
   509      </a>
   510    </li>
   511  
   512          
   513            
   514            
   515            
   516  
   517  
   518    <li class="md-nav__item">
   519      <a href="../../Interfaces/Search/" title="Search" class="md-nav__link">
   520        Search
   521      </a>
   522    </li>
   523  
   524          
   525        </ul>
   526      </nav>
   527    </li>
   528  
   529      
   530        
   531        
   532        
   533  
   534  
   535    <li class="md-nav__item md-nav__item--nested">
   536      
   537        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
   538      
   539      <label class="md-nav__link" for="nav-7">
   540        Ponzu Addons
   541      </label>
   542      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   543        <label class="md-nav__title" for="nav-7">
   544          Ponzu Addons
   545        </label>
   546        <ul class="md-nav__list" data-md-scrollfix>
   547          
   548          
   549            
   550            
   551            
   552  
   553  
   554    <li class="md-nav__item">
   555      <a href="../../Ponzu-Addons/Creating-Addons/" title="Creating Addons" class="md-nav__link">
   556        Creating Addons
   557      </a>
   558    </li>
   559  
   560          
   561            
   562            
   563            
   564  
   565  
   566    <li class="md-nav__item">
   567      <a href="../../Ponzu-Addons/Using-Addons/" title="Using Addons" class="md-nav__link">
   568        Using Addons
   569      </a>
   570    </li>
   571  
   572          
   573        </ul>
   574      </nav>
   575    </li>
   576  
   577      
   578        
   579        
   580        
   581  
   582  
   583    <li class="md-nav__item md-nav__item--nested">
   584      
   585        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
   586      
   587      <label class="md-nav__link" for="nav-8">
   588        Quickstart
   589      </label>
   590      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   591        <label class="md-nav__title" for="nav-8">
   592          Quickstart
   593        </label>
   594        <ul class="md-nav__list" data-md-scrollfix>
   595          
   596          
   597            
   598            
   599            
   600  
   601  
   602    <li class="md-nav__item">
   603      <a href="../../Quickstart/Overview/" title="Overview" class="md-nav__link">
   604        Overview
   605      </a>
   606    </li>
   607  
   608          
   609        </ul>
   610      </nav>
   611    </li>
   612  
   613      
   614        
   615        
   616        
   617  
   618  
   619    <li class="md-nav__item md-nav__item--nested">
   620      
   621        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
   622      
   623      <label class="md-nav__link" for="nav-9">
   624        References
   625      </label>
   626      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   627        <label class="md-nav__title" for="nav-9">
   628          References
   629        </label>
   630        <ul class="md-nav__list" data-md-scrollfix>
   631          
   632          
   633            
   634            
   635            
   636  
   637  
   638    <li class="md-nav__item">
   639      <a href="../../References/Overview/" title="Overview" class="md-nav__link">
   640        Overview
   641      </a>
   642    </li>
   643  
   644          
   645        </ul>
   646      </nav>
   647    </li>
   648  
   649      
   650        
   651        
   652        
   653  
   654  
   655    <li class="md-nav__item md-nav__item--nested">
   656      
   657        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
   658      
   659      <label class="md-nav__link" for="nav-10">
   660        Running Backups
   661      </label>
   662      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   663        <label class="md-nav__title" for="nav-10">
   664          Running Backups
   665        </label>
   666        <ul class="md-nav__list" data-md-scrollfix>
   667          
   668          
   669            
   670            
   671            
   672  
   673  
   674    <li class="md-nav__item">
   675      <a href="../../Running-Backups/Backups/" title="Backups" class="md-nav__link">
   676        Backups
   677      </a>
   678    </li>
   679  
   680          
   681        </ul>
   682      </nav>
   683    </li>
   684  
   685      
   686        
   687        
   688        
   689  
   690  
   691    <li class="md-nav__item md-nav__item--nested">
   692      
   693        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11" type="checkbox" id="nav-11">
   694      
   695      <label class="md-nav__link" for="nav-11">
   696        System Configuration
   697      </label>
   698      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   699        <label class="md-nav__title" for="nav-11">
   700          System Configuration
   701        </label>
   702        <ul class="md-nav__list" data-md-scrollfix>
   703          
   704          
   705            
   706            
   707            
   708  
   709  
   710    <li class="md-nav__item">
   711      <a href="../../System-Configuration/Settings/" title="Settings" class="md-nav__link">
   712        Settings
   713      </a>
   714    </li>
   715  
   716          
   717        </ul>
   718      </nav>
   719    </li>
   720  
   721      
   722        
   723        
   724        
   725  
   726  
   727    <li class="md-nav__item md-nav__item--nested">
   728      
   729        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12" type="checkbox" id="nav-12">
   730      
   731      <label class="md-nav__link" for="nav-12">
   732        System Deployment
   733      </label>
   734      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   735        <label class="md-nav__title" for="nav-12">
   736          System Deployment
   737        </label>
   738        <ul class="md-nav__list" data-md-scrollfix>
   739          
   740          
   741            
   742            
   743            
   744  
   745  
   746    <li class="md-nav__item">
   747      <a href="../../System-Deployment/Docker/" title="Docker" class="md-nav__link">
   748        Docker
   749      </a>
   750    </li>
   751  
   752          
   753            
   754            
   755            
   756  
   757  
   758    <li class="md-nav__item">
   759      <a href="../../System-Deployment/SysV-Style/" title="SysV Style" class="md-nav__link">
   760        SysV Style
   761      </a>
   762    </li>
   763  
   764          
   765        </ul>
   766      </nav>
   767    </li>
   768  
   769      
   770    </ul>
   771  </nav>
   772                    </div>
   773                  </div>
   774                </div>
   775              
   776              
   777                <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
   778                  <div class="md-sidebar__scrollwrap">
   779                    <div class="md-sidebar__inner">
   780                      
   781  <nav class="md-nav md-nav--secondary">
   782    
   783    
   784    
   785      <label class="md-nav__title" for="toc">Table of contents</label>
   786      <ul class="md-nav__list" data-md-scrollfix>
   787        
   788          <li class="md-nav__item">
   789    <a href="#item-interfaces" title="Item Interfaces" class="md-nav__link">
   790      Item Interfaces
   791    </a>
   792    
   793  </li>
   794        
   795          <li class="md-nav__item">
   796    <a href="#api-interfaces" title="API Interfaces" class="md-nav__link">
   797      API Interfaces
   798    </a>
   799    
   800  </li>
   801        
   802          <li class="md-nav__item">
   803    <a href="#editor-interfaces" title="Editor Interfaces" class="md-nav__link">
   804      Editor Interfaces
   805    </a>
   806    
   807  </li>
   808        
   809          <li class="md-nav__item">
   810    <a href="#search-interfaces" title="Search Interfaces" class="md-nav__link">
   811      Search Interfaces
   812    </a>
   813    
   814  </li>
   815        
   816        
   817        
   818      </ul>
   819    
   820  </nav>
   821                    </div>
   822                  </div>
   823                </div>
   824              
   825            
   826            <div class="md-content">
   827              <article class="md-content__inner md-typeset">
   828                
   829                  
   830                  
   831                    <h1>Extending Content</h1>
   832                  
   833                  <p>Extending your Content types with more features and functionality within the system
   834  is done by implementing the various built-in interfaces provided by Ponzu. To learn 
   835  more about interfaces, see <a href="https://tour.golang.org/methods/10">A Tour of Go - Interfaces</a>.</p>
   836  <p>It is also common to add more advanced functionality to Content types using Addons. Refer to the <a href="../../Ponzu-Addons">Addon documentation</a> for more information about how to use and create Ponzu Addons.</p>
   837  <h2 id="item-interfaces"><a href="../../Interfaces/Item">Item Interfaces</a><a class="headerlink" href="#item-interfaces" title="Permanent link">&para;</a></h2>
   838  <p>All Content types which embed an <code>item.Item</code> will implicitly <a href="#">implement</a> its many
   839  interfaces. In Ponzu, the following interfaces are exported from the <code>system/item</code>
   840  package and have a default implementation which can be overridden to change your
   841  content types' functionality within the system.</p>
   842  <ul>
   843  <li><a href="../../Interfaces/Item#itempushable"><code>item.Pushable</code></a></li>
   844  <li><a href="../../Interfaces/Item#itemhideable"><code>item.Hideable</code></a></li>
   845  <li><a href="../../Interfaces/Item#itemomittable"><code>item.Omittable</code></a></li>
   846  <li><a href="../../Interfaces/Item#itemhookable"><code>item.Hookable</code></a></li>
   847  <li><a href="../../Interfaces/Item#itemidentifiable"><code>item.Identifiable</code></a></li>
   848  <li><a href="../../Interfaces/Item#itemsortable"><code>item.Sortable</code></a></li>
   849  <li><a href="../../Interfaces/Item#itemsluggable"><code>item.Sluggable</code></a></li>
   850  </ul>
   851  <h2 id="api-interfaces"><a href="../../Interfaces/API">API Interfaces</a><a class="headerlink" href="#api-interfaces" title="Permanent link">&para;</a></h2>
   852  <p>To enable 3rd-party clients to interact with your Content types, you can extend your types with the API interfaces:</p>
   853  <ul>
   854  <li><a href="../../Interfaces/API/#apicreateable"><code>api.Createable</code></a></li>
   855  <li><a href="../../Interfaces/API/#apiupdateable"><code>api.Updateable</code></a></li>
   856  <li><a href="../../Interfaces/API/#apideleteable"><code>api.Deleteable</code></a></li>
   857  <li><a href="../../Interfaces/API/#apitrustable"><code>api.Trustable</code></a></li>
   858  </ul>
   859  <h2 id="editor-interfaces"><a href="../../Interfaces/Editor">Editor Interfaces</a><a class="headerlink" href="#editor-interfaces" title="Permanent link">&para;</a></h2>
   860  <p>To manage how content is edited and handled in the CMS, use the following Editor interfaces:</p>
   861  <ul>
   862  <li><a href="../../Interfaces/Editor/#editoreditable"><code>editor.Editable</code></a></li>
   863  <li><a href="../../Interfaces/Editor/#editormergeable"><code>editor.Mergeable</code></a></li>
   864  </ul>
   865  <h2 id="search-interfaces"><a href="../../Interfaces/Search">Search Interfaces</a><a class="headerlink" href="#search-interfaces" title="Permanent link">&para;</a></h2>
   866  <p>To enable and customize full-text search on your content types, use the following interfaces:</p>
   867  <ul>
   868  <li><a href="../../Interfaces/Search/#searchsearchable"><code>search.Searchable</code></a></li>
   869  </ul>
   870                  
   871                    
   872                  
   873                
   874                
   875                  
   876                
   877              </article>
   878            </div>
   879          </div>
   880        </main>
   881        
   882          
   883  <footer class="md-footer">
   884    
   885      <div class="md-footer-nav">
   886        <nav class="md-footer-nav__inner md-grid">
   887          
   888            <a href="../An-Overview/" title="An Overview" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
   889              <div class="md-flex__cell md-flex__cell--shrink">
   890                <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
   891              </div>
   892              <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
   893                <span class="md-flex__ellipsis">
   894                  <span class="md-footer-nav__direction">
   895                    Previous
   896                  </span>
   897                  An Overview
   898                </span>
   899              </div>
   900            </a>
   901          
   902          
   903            <a href="../../Form-Fields/HTML-Inputs/" title="HTML Inputs" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
   904              <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
   905                <span class="md-flex__ellipsis">
   906                  <span class="md-footer-nav__direction">
   907                    Next
   908                  </span>
   909                  HTML Inputs
   910                </span>
   911              </div>
   912              <div class="md-flex__cell md-flex__cell--shrink">
   913                <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
   914              </div>
   915            </a>
   916          
   917        </nav>
   918      </div>
   919    
   920    <div class="md-footer-meta md-typeset">
   921      <div class="md-footer-meta__inner md-grid">
   922        <div class="md-footer-copyright">
   923          
   924          powered by
   925          <a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
   926          and
   927          <a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
   928            Material for MkDocs</a>
   929        </div>
   930        
   931          
   932    <div class="md-footer-social">
   933      
   934      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
   935      
   936        <a href="https://github.com/rpdict" class="md-footer-social__link fa fa-github"></a>
   937      
   938        <a href="https://twitter.com/ponzu_cms" class="md-footer-social__link fa fa-twitter"></a>
   939      
   940    </div>
   941  
   942        
   943      </div>
   944    </div>
   945  </footer>
   946        
   947      </div>
   948      
   949        <script src="../../assets/javascripts/application-6b599127bc.js"></script>
   950        <script>app.initialize({url:{base:"../.."}})</script>
   951        
   952      
   953      
   954        
   955        <script>!function(e,t,a,n,o,c,i){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,c=t.createElement(a),i=t.getElementsByTagName(a)[0],c.async=1,c.src=n,i.parentNode.insertBefore(c,i)}(window,document,"script","https://www.google-analytics.com/analytics.js","ga"),ga("create","UA-98609560-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName("a");Array.prototype.map.call(links,function(e){e.host!=document.location.host&&e.addEventListener("click",function(){var t=e.getAttribute("data-md-action")||"follow";ga("send","event","outbound",t,e.href)})});var query=document.forms.search.query;query.addEventListener("blur",function(){if(this.value){var e=document.location.pathname;ga("send","pageview",e+"?q="+this.value)}})</script>
   956        
   957      
   958    </body>
   959  </html>