This plugin allows to create and manage a portfolio website.
Backend Menus
Items
Items can be thought of as individual pieces of your portfolio. Here you can add the title, date, short description, images, and more explanatory content.
Images
There are a few types of images: A banner, which is used at the top of the project page, a thumbnail which is used in the landing page component, and screenshots which appear in a "lightbox-like" fashion in the itemPage component.
Written content
Written content is managed through what are called "sections". Each section will be an entry in the itemPage table of contents. It's also possible to reorder sections by clicking the three bar icon in the right most column of the sections list.
Sorting Items
The items themselves can be sorted by clicking the reorder button from the root Manage Items
page.
Tags
Every item is organized by tags. This is useful if you want to have multiple "profiles" which display different items. Make sure every item has at least one tag. Note: You should create tags before you create items, or else the tags wont be displayed in the tag field of the item creation/update form.
Profile
This menu manages personal information. Important to note is the Profile Key
. This option will be used for the frontend Profile
and socialNav
components. Links can be to any external site. It's recommended that you use simple monochromatic icons for the socialNav
component. Multiple profiles can be created and used on different pages.
The following theme uses this plugin
CMS Components
Profile
The profile components displays your profile based on the profile key selected from the dropdown.
LandingPage
The landing page is a simple component that displays all the items of a particular tag. The tag is selected through a dropdown.
socialNav
The social nav will display all the links from a given profile
itemPage
The itemPage component takes in a url parameter. Make sure the page you use this component on follows this url pattern /projects/:project_name?
.
Structures
Briefly, the fields in each one of the most important tables.
Items
The landingPage & itemPage parse through items in different ways. Here is a highlight and description (if necessary) of the properties.
- slug: Used to generate URLS when linking to projects
- title
- item_date: The date input into the backend form
- tags: Relation (covered further down)
- sections: A relation (covered further down)
- published: Whether or not the item should be displayed
- sort_order: Order that the items should be displayed
Sections
- section_title: Title of the section. Used in the table of contents of the item pages and of course the section titles.
- sort_order: Order to display the sections by
- section: The body text of the section
Sections are sorted using a bit of javascript which can be found in assets/javascript/sortable.js
. There is a function onRelationReorder()
in the Item controller which handles the reordering behavior (for items too).
Profile
- links: A relation (covered below)
Link
- name
- url
- icon
Using components with different layouts
It's possible to access all the data from the components through pages, layouts, partials, etc.
LandingPage
With the component added to the page/layout/partial, access all the items through {{ landingPage.items }}
Social nav
Access the links through {{ socialNav.links }}
Profile
Access the profile info through {{ Profile.profile }}
Contribute!
If you notice any feature you'd like to add or a bug you'd like to fix, send a pull request. The github repo can be found here.
-
This plugin has not been reviewed yet.
-
1.0.2 |
Added email field to profile Oct 22, 2017 |
---|---|
1.0.1 |
Created table vonzimmerman_displaycase_item Oct 18, 2017 |