Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@
/http-tests/out
/fuseki
.claude/scheduled_tasks.lock
/cli/target
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ We are building LinkedDataHub primarily for:

What makes LinkedDataHub unique is its completely _data-driven architecture_: applications and documents are defined as data, managed using a single generic HTTP API and presented using declarative technologies. The default application structure and user interface are provided, but they can be completely overridden and customized. Unless a custom server-side processing is required, no imperative code such as Java or JavaScript needs to be involved at all.

XHTML documents can be edited in-place using a built-in RDFa-aware rich text editor — annotations link selected text directly to Knowledge Graph terms, embedding machine-readable RDF statements in the markup without leaving the page.

**Follow the [Get started](https://atomgraph.github.io/LinkedDataHub/linkeddatahub/docs/get-started/) guide to LinkedDataHub.** The setup and basic configuration sections are provided below and should get you running.

**LinkedDataHub is also available as a free AWS Marketplace product!** <a href="https://aws.amazon.com/marketplace/pp/prodview-vqbeztc3f2nni" target="_blank"><img src="https://github.com/AtomGraph/LinkedDataHub/raw/master/AWS%20Marketplace.svg" width="160" alt="AWS Marketplace"/></a>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ ul.dropdown-menu ul { margin: 0; }
.action-bar #doc-controls { text-align: right; padding-top: 5px; }
.action-bar #doc-controls .btn-edit { margin-top: -5px; margin-left: 10px; }
.action-bar p.alert { margin-bottom: 0; }
body:has(#edit-toolbar) .action-bar { border-bottom: 1px solid #aaa; }
.nav-header.btn { color: inherit; }
.btn.btn-primary.create-action { background-image: url('../icons/ic_note_add_white_24px.svg'); background-position: 12px center; background-repeat: no-repeat; padding-left: 40px; /* height: 30px; */ }
.btn.create-action, a.create-action { background-image: url('../icons/ic_note_add_black_24px.svg'); background-position: 12px center; background-repeat: no-repeat; padding-left: 40px; /* height: 30px; */ }
Expand Down Expand Up @@ -152,6 +153,8 @@ h2.item-logo { background-image: url('../icons/file.svg'); background-position:
.modal-footer { position: sticky; bottom: 0; background-color: white; z-index: 1060; }
.modal-first-time-message { margin-left: 0; width: 80%; left: 10%; }
.modal-first-time-message .hero-unit { margin-bottom: 0; }
/* Annotation overlay */
#rdfa-editor-overlay { position: absolute; min-width: 360px; max-width: 520px; z-index: 10001; }
.control-group.endpoint-classes ul { max-height: 20em; overflow: auto; }
.nav-tabs > li > a, .pager > li > a.active { cursor: pointer; }
.pager > li.previous > a { text-align: right; font-size: 0; color: transparent; background-image: url('../icons/ic_navigate_before_black_24px.svg'); background-position: center center; background-repeat: no-repeat; width: 64px; height: 24px; }
Expand Down Expand Up @@ -180,8 +183,11 @@ button.add-typeahead { width: 219px; }
.description { display: none; }
.content .dl-horizontal { max-height: 35em; overflow: auto; }
div[typeof="https://w3id.org/atomgraph/linkeddatahub#XHTML"] .main { font-size: larger; line-height: 25px; }
div[typeof="https://w3id.org/atomgraph/linkeddatahub#XHTML"]:not(:has(form)) .main { cursor: pointer; }
div[typeof="https://w3id.org/atomgraph/linkeddatahub#XHTML"] .btn-edit { display: none; }
div[typeof="https://w3id.org/atomgraph/linkeddatahub#XHTML"] .form-horizontal .control-label { display: none; }
div[typeof="https://w3id.org/atomgraph/linkeddatahub#XHTML"] .form-horizontal .controls { margin-left: 0; }
div[typeof="https://w3id.org/atomgraph/linkeddatahub#XHTML"] form fieldset { border: none; }
.span12.progress .row-block-controls { background-color: #e9ecef; }
.span12.progress .bar { height: 20px; }
/* .content .btn.add-typeahead { margin-top: -10px; } */
Expand Down Expand Up @@ -210,4 +216,18 @@ object { display: block; margin: auto; max-height: 400px; overflow: hidden; widt
.ol-overlay-container { width: 60%; max-height: 75%; background-color: white; overflow: auto; }
.ol-overlay-container img { max-width: 100%; }
/* SVG graph specific */
circle { cursor: move; }
circle { cursor: move; }
/* RDFa editor specific */
.editor-bar { position: sticky; top: calc(var(--action-bar-top, 51px) + 50px); z-index: 998; background: #dfdfdf; padding: 0; box-shadow: none; display: flex; align-items: center; }
#edit-toolbar { order: -1; margin-right: auto; display: flex; gap: 6px; align-items: center; }
#edit-toolbar button, #edit-toolbar select { padding: 4px 8px; border: 1px solid #ccc; border-radius: 4px; background: white; font-size: 13px; font-family: inherit; cursor: pointer; margin-top: auto; margin-bottom: auto; }
#edit-toolbar button:disabled { opacity: 0.4; cursor: default; }
#edit-toolbar button:hover { background: #f5f5f5; }
#edit-toolbar button[aria-pressed="true"] { background: #e3f0ff; border-color: #6aa3e0; color: #1a5fb4; }
#edit-toolbar .tb-group { display: flex; gap: 6px; align-items: center; }
#edit-toolbar .tb-group + .tb-group { border-left: 1px solid #e0e0e0; padding-left: 6px; }
#edit-toolbar .tb-group.table-ops.active { background: #e3f0ff; border-radius: 4px; }
.edit-dialog { background: white; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.2); padding: 12px; min-width: 280px; z-index: 10000; }
.edit-dialog .rdfa-editor-ui .action-buttons { margin-top: 10px; }
.edit-dialog .rdfa-editor-ui .checkbox-label { display: inline-flex; gap: 6px; align-items: center; font-weight: 400; margin-top: 8px; }
.editor-bar:not(:has(#edit-toolbar)), body:not(:has(.rdfa-editor-content)) .editor-bar, body:not(:has(.rdfa-editor-content)) #rdfa-editor-breadcrumb { display: none; }
Loading
Loading