Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
cb6ff89
README with table of contents and first indexed file
sadasant May 25, 2018
7f1ceb4
current progress
sadasant May 25, 2018
b145ed5
Feedback in contexture-core
sadasant May 25, 2018
74e6be3
More content
sadasant May 25, 2018
bd6d4bb
More content
sadasant May 25, 2018
85f734f
Table magic
sadasant May 25, 2018
845e728
More about types
sadasant May 25, 2018
d7a5ddf
More on types
sadasant May 25, 2018
50b8471
What I just did on github
sadasant May 25, 2018
434bec8
Playing with links
sadasant May 25, 2018
e09a0d9
More stuff
sadasant May 25, 2018
e5c55e4
More files
sadasant May 26, 2018
5c91c0b
More links
sadasant May 26, 2018
655ab2a
Parent link?
sadasant May 26, 2018
9eb2c90
Link?
sadasant May 26, 2018
1c13fb4
Leftwards arrow
sadasant May 26, 2018
a97fdd4
More parents
sadasant May 26, 2018
9064250
Bit of better grammar
sadasant May 26, 2018
2386fec
Context Tree
sadasant May 26, 2018
49e456e
Seems better
sadasant May 26, 2018
6671cc3
changes
sadasant May 26, 2018
42cb989
more changes
sadasant May 26, 2018
c8ffa78
Better arrows
sadasant May 26, 2018
980cc3c
correct next for react-components.md
sadasant May 26, 2018
6a8847e
Better Parrents
sadasant May 26, 2018
b093f46
First commit with some about content
sadasant May 29, 2018
5fd9c8c
Small improvements
sadasant May 29, 2018
e391068
Small improvement
sadasant May 29, 2018
bf864b5
Is this better?
sadasant May 29, 2018
a3fa783
This seems better
sadasant May 29, 2018
6be18c8
Removed repetition of words starting with ultimate
sadasant May 29, 2018
b7d066f
repeated merely to only
sadasant May 29, 2018
e827134
typo
sadasant May 29, 2018
9dc3f66
clear repeated at the end
sadasant May 29, 2018
b59b3d9
separated some quoted bulletpoints
sadasant May 29, 2018
b8b9572
Info about contexture providers in our map of repos
sadasant May 29, 2018
691ccfd
Typo
sadasant May 29, 2018
da89b89
More on the map of repos
sadasant May 29, 2018
d1b023b
Not sure what happened here
sadasant May 29, 2018
20eff31
Blank files about history and benchmarks
sadasant May 29, 2018
a526b2c
Corrected a title
sadasant May 29, 2018
929476d
More on the setup
sadasant May 29, 2018
aba81a4
Mostly the first script
sadasant May 29, 2018
17cd0d6
Important clarification
sadasant May 29, 2018
478d463
Connecting
sadasant May 30, 2018
f3df6ed
Is this better?
sadasant May 30, 2018
bdcac5e
Maybe this is better
sadasant May 30, 2018
2c61785
Concept for connecting to other databases
sadasant May 30, 2018
12a1a5b
Building your own provider & connecting to other databases
sadasant May 30, 2018
fe405d1
Woopsie
sadasant May 30, 2018
9e9f697
Diagram
sadasant May 30, 2018
ccd5873
Refining the what-is-contexture.md file
sadasant May 31, 2018
cede661
Advanced search representation
sadasant May 31, 2018
c8f9995
Centering images
sadasant May 31, 2018
bb50b38
Seems like we can't mix markdown with html
sadasant May 31, 2018
8420f70
Slightly better picture
sadasant May 31, 2018
405b5b2
Some more terms
sadasant May 31, 2018
eebe193
More terms
sadasant May 31, 2018
dfe2d6d
This is more accurate
sadasant May 31, 2018
2bda8c5
More accurate
sadasant May 31, 2018
0ffecfe
Typos
sadasant May 31, 2018
5f6e1d2
Better separations
sadasant May 31, 2018
20e9202
No async here
sadasant May 31, 2018
59bfd52
Another link regarding drivers
sadasant May 31, 2018
4b7ebfd
Simple search box page
sadasant May 31, 2018
3f85397
Simple search box first sketch
sadasant May 31, 2018
c13821d
lil bit better
sadasant May 31, 2018
9f82c48
Less as follows
sadasant May 31, 2018
8c48c88
Better Headers
sadasant May 31, 2018
3a16712
More information
sadasant May 31, 2018
1b182e4
Discover the database and your first filter
sadasant May 31, 2018
380ccf3
More references
sadasant Jun 1, 2018
c28c3a0
imdb example
sadasant Jun 1, 2018
e18df96
Typo
sadasant Jun 1, 2018
c0a94f2
Lots of stuff
sadasant Jun 1, 2018
27fee08
A little bit more on the exists type
sadasant Jun 1, 2018
a4ca7aa
Ground for future content
sadasant Jun 1, 2018
fbe7bf1
first commit of the week
sadasant Jun 4, 2018
8234bc4
lil changes
sadasant Jun 4, 2018
59dc3cf
DateHistogram
sadasant Jun 4, 2018
f7f07ef
Facet
sadasant Jun 4, 2018
9fdf227
Fixing the table
sadasant Jun 4, 2018
b5330a5
Tweak
sadasant Jun 4, 2018
f527f15
Corrected Date Histogram's image
sadasant Jun 4, 2018
a8a2d44
Number type
sadasant Jun 4, 2018
7890a37
Query type
sadasant Jun 4, 2018
544e3f0
Almost done with the react components
sadasant Jun 4, 2018
cd662ca
Let's see how it looks
sadasant Jun 4, 2018
d02fde5
The descriptions
sadasant Jun 4, 2018
811c38f
Some TODOs
sadasant Jun 4, 2018
9a945ab
Customization properties and comment about Components
sadasant Jun 4, 2018
8169011
More info on the ES types
sadasant Jun 5, 2018
27365ea
Mongo types too
sadasant Jun 5, 2018
b1e8991
more info on the es types
sadasant Jun 5, 2018
5d6ab3a
Improved these files
sadasant Jun 5, 2018
d367a56
Cleaning these up
sadasant Jun 6, 2018
5974f1e
Fixed links
sadasant Jun 6, 2018
2b2592e
add index.html and CNAME
vyrnix9582046173 Mar 8, 2020
33264d2
Merge pull request #1 from ltchris/flatdoc
vyrnix9582046173 Mar 8, 2020
6825ea1
add docs dir
vyrnix9582046173 Mar 8, 2020
55110fa
Create CNAME
vyrnix9582046173 Mar 8, 2020
450a555
remove root CNAME
vyrnix9582046173 Mar 8, 2020
b1654bc
add formatted sections
vyrnix9582046173 Mar 8, 2020
f834455
remove TOC
vyrnix9582046173 Mar 8, 2020
2e80415
fix all sections formatting
vyrnix9582046173 Mar 8, 2020
ad6eca4
remove other doc directories
vyrnix9582046173 Mar 8, 2020
9e815d0
clean up readme
vyrnix9582046173 Mar 8, 2020
74b0569
fix md formatting bug
vyrnix9582046173 Mar 8, 2020
86bf0d6
add first sections docs
vyrnix9582046173 Mar 8, 2020
b3f3ddd
remove theme
vyrnix9582046173 Mar 8, 2020
cd96408
add custom theme files
vyrnix9582046173 Mar 8, 2020
4b1993e
fix colors
vyrnix9582046173 Mar 9, 2020
1349619
fix colors
vyrnix9582046173 Mar 9, 2020
88efd65
use Lato font
vyrnix9582046173 Mar 9, 2020
6ccae5f
add lato font tag
vyrnix9582046173 Mar 9, 2020
9703f77
fix hover colors
vyrnix9582046173 Mar 9, 2020
0c6fd88
fix docs formatting
vyrnix9582046173 Mar 9, 2020
d148ce9
add first half of getting started section
vyrnix9582046173 Mar 9, 2020
fda50cb
make font more readable
vyrnix9582046173 Mar 9, 2020
d0591be
change font used
vyrnix9582046173 Mar 9, 2020
5620a86
change font size
vyrnix9582046173 Mar 9, 2020
3704a8b
fix fonts
vyrnix9582046173 Mar 9, 2020
39bc214
fix code span styling
vyrnix9582046173 Mar 9, 2020
bac03c9
fix link color
vyrnix9582046173 Mar 9, 2020
24564c2
add code colors
vyrnix9582046173 Mar 9, 2020
b263d9e
fix code colors
vyrnix9582046173 Mar 9, 2020
e687a0e
fix body font color
vyrnix9582046173 Mar 9, 2020
89e986d
finish getting started section
vyrnix9582046173 Mar 9, 2020
01b994b
fix image sizes
vyrnix9582046173 Mar 9, 2020
e1cfef0
fix w,h of images
vyrnix9582046173 Mar 9, 2020
5014301
fix all images
vyrnix9582046173 Mar 9, 2020
2847e15
fix unneeded ticks
vyrnix9582046173 Mar 9, 2020
faf2d45
try TOC
vyrnix9582046173 Mar 9, 2020
00220d1
try toc 2
vyrnix9582046173 Mar 9, 2020
c302f27
remove TOC
vyrnix9582046173 Mar 9, 2020
cc58b11
finish querying section
vyrnix9582046173 Mar 9, 2020
46039f4
add types and type components section
vyrnix9582046173 Mar 9, 2020
dffde4d
remove broken imgur link
vyrnix9582046173 Mar 9, 2020
54e4b85
add other components section
vyrnix9582046173 Mar 9, 2020
6216161
finish sections
vyrnix9582046173 Mar 9, 2020
ba173db
fix small formatting
vyrnix9582046173 Mar 9, 2020
ec53cbf
fix formatting
vyrnix9582046173 Mar 9, 2020
04795d9
fix formatting
vyrnix9582046173 Mar 9, 2020
ca54f86
fix formatting
vyrnix9582046173 Mar 9, 2020
d115896
fix glossary
vyrnix9582046173 Mar 9, 2020
59bb9f1
fix glossary
vyrnix9582046173 Mar 9, 2020
2271ab4
fix broken numberings
vyrnix9582046173 Mar 9, 2020
cc9bf1d
GitBook: [master] 30 pages modified
vyrnix9582046173 Mar 11, 2020
549570f
GitBook: [master] 43 pages modified
vyrnix9582046173 Mar 11, 2020
99354c5
GitBook: [master] 24 pages modified
vyrnix9582046173 Mar 11, 2020
b5aa39e
GitBook: [master] 3 pages modified
vyrnix9582046173 Mar 11, 2020
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
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
# contexture-docs
Documentation for Contexture
# Contexture Documentation

This is the complete documentation for [Contexture](https://github.com/smartprocure/contexture).

49 changes: 49 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Table of contents

* [Contexture Documentation](README.md)

## About Contexture

* [What Is Contexture](about-contexture/what-is-contexture.md)
* [Glossary of Terms](about-contexture/glossary-of-terms.md)
* [Map of Repos](about-contexture/map-of-repos.md)
* [Brief History](about-contexture/brief-history.md)
* [Alternatives & Benchmarks](about-contexture/alternatives-and-benchmarks.md)

## Getting Started

* [Project Setup](getting-started/project-setup.md)
* [Your First Contexture Script](getting-started/your-first-contexture-script.md)
* [Connecting to Elasticsearch & MongoDB](getting-started/connecting-to-elasticsearch-and-mongodb.md)
* [Connecting to Other Databases](getting-started/connecting-to-other-databases.md)
* [Simple Search Box](getting-started/simple-search-box.md)
* [Your First Filter](getting-started/your-first-filter.md)
* [Discovering The Database](getting-started/discovering-the-database.md)
* [IMDB Index](getting-started/imdb-index.md)

## Querying

* [Contexture DSL](querying/contexture-dsl.md)

## Types and Type Components

* [DIY Types](types-and-type-components/diy-types.md)
* [ElasticSearch Example Types](types-and-type-components/elasticsearch-example-types.md)
* [MongoDB Example Types](types-and-type-components/mongodb-example-types.md)

## Other Components

* [Generally Useful Components](other-components/generally-useful-components.md)
* [Layout Components](other-components/layout-components.md)

## Under the Hood

* [Design Principles](under-the-hood/design-principles.md)
* [Contexture Core](under-the-hood/contexture-core.md)
* [Contexture ElasticSearch](under-the-hood/contexture-elasticsearch.md)
* [Contexture Mongo](under-the-hood/contexture-mongo.md)
* [Building Your Own Provider](under-the-hood/building-your-own-provider.md)
* [Contexture Client](under-the-hood/contexture-client.md)
* [Reactors](under-the-hood/reactors.md)
* [Contexture React](under-the-hood/contexture-react.md)

4 changes: 4 additions & 0 deletions about-contexture/alternatives-and-benchmarks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Alternatives & Benchmarks

TODO

4 changes: 4 additions & 0 deletions about-contexture/brief-history.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Brief History

TODO

53 changes: 53 additions & 0 deletions about-contexture/glossary-of-terms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Glossary of Terms

## Contexture

> NOUN 1. The fact or manner of being woven or linked together to form a connected whole.
> 1.1. A mass of things interwoven together; a fabric.
> 1.2. The putting together of words and sentences in connected composition; the construct of a text.
> 1.3. A connected literary structure; a continuous text.

[Source](https://en.oxforddictionaries.com/definition/us/contexture).

## Domain-Specific Language \(DSL\)

> A domain-specific language \(DSL\) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language \(GPL\), which is broadly applicable across domains.

[Source](https://en.wikipedia.org/wiki/Domain-specific_language).

## Search Query

According to Wikipedia, `Search Query`, in the context of the `web`, refers to:

> ...a query that a user enters into a web search engine to satisfy his or her information needs. Web search queries are distinctive in that they are often plain text or hypertext with optional search-directives \(such as "and"/"or" with "-" to exclude\). They vary greatly from standard query languages, which are governed by strict syntax rules as command languages with keyword or positional parameters.

[Source](https://en.wikipedia.org/wiki/Web_search_query).

## Faceted Search

> Faceted search, also known as faceted navigation or faceted browsing, is a technique used by eCommerce brands to help users analyze, organize, and filter large sets of product inventory based on filters such as size, color, price, and brand.

[Source](https://www.dynamicyield.com/glossary/faceted-search/).

> Faceted search, also called faceted navigation or faceted browsing, is a technique for accessing information organized according to a faceted classification system, allowing users to explore a collection of information by applying multiple filters. A faceted classification system classifies each information element along multiple explicit dimensions, called facets, enabling the classifications to be accessed and ordered in multiple ways rather than in a single, pre-determined, taxonomic order.

[Source](https://en.wikipedia.org/wiki/Faceted_search).

## Search Filter

> An extension of faceted search, a search filter is a specific product attribute a visitor can use to refine the search results of a particular category listing, e.g. by size, color, price, or brand. Multiple filters may be applied to take a broad range of products and refine them into a more narrow selection, allowing the end user to retrieve the most relevant search results based on the criteria they’ve selected.

[Source](https://www.dynamicyield.com/glossary/search-filter/).

## Configuration Based Development

> The difference between configuration-driven development and model-driven development is that the former is not restricted to the model of the code such as classes, fields, and relationships. Configuration-driven development \(CCD\) encompasses anything that can be configured within your application. For example, if your architecture dictates that particular business rules must be applied consistently across your application, you can use configuration files to configure and apply those rules.

[Source](https://www.ibm.com/developerworks/library/wa-configdev/index.html).

## Functional Logic Programming

> Functional logic programming is the combination, in a single programming language, of the paradigms of functional programming \(including higher-order programming\) and logic programming \(nondeterministic programming, unification\). This style of programming is embodied by various programming languages, including Curry and Mercury.

[Source](https://en.wikipedia.org/wiki/Functional_logic_programming).

40 changes: 40 additions & 0 deletions about-contexture/map-of-repos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Map of Repos

The Contexture framework comes to life through a list of repositories that individually specialize in some needed layer for our architecture. We will be using most \(if not all\) of these projects in our upcoming pages. Let's explore the repos we have so far:

## Contexture Core

[github.com/smartprocure/contexture](https://github.com/smartprocure/contexture) is where our main DSL processor lives. It is a very small layer that ties everything together. This one receives the information about the different search representations, about the databases involved, and the DSL, then outputs the search results respective to each one of the queries described in a copy of the received DSL.

You can read more about the core here:

* [In the repository](https://github.com/smartprocure/contexture).

## Contexture Providers

The Contexture Providers are the interfacing layer that ties the Contexture DSL to the targeted databases. So far, we have only two open source providers:

* [contexture-elasticsearch](https://github.com/smartprocure/contexture-elasticsearch),

and

* [contexture-mongo](https://github.com/smartprocure/contexture-mongo).

If you are planning to use either ElasticSearch or MongoDB for your project, the best way to get started is to use those repositories. However, if you need to use Contexture with another database, you will need to implement the provider yourself. We're looking for code contributors, so please don't feel limited to the current available tools. Help us grow together!

## Contexture Client

The Contexture Client is responsible for triggering behaviors on the search interfaces by knowing what causes changes in one or more elements of the search tree. It is the key piece of technology that allows our search interfaces to work in real time.

You can read more about the Contexture Client here:

* [In the repository](https://github.com/smartprocure/contexture-client).

## Contexture React

The Contexture React repository holds a list of components that facilitate building search interfaces. They are mainly graphical representations of the types that exist on our Contexture Providers.

You can read more about the Contexture React:

* [In the repository](https://github.com/smartprocure/contexture-client).

14 changes: 14 additions & 0 deletions about-contexture/what-is-contexture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# What Is Contexture

People of the Internet, here we officialy introduce you to `contexture`, our framework for building search interfaces.

This framework is carefully designed to be a generic solution for a universe of unlimited possible search interfaces. We've started with a minimal set of repositories that are representative of tools that empower our business, but are intended to be merely examples. If anything, our approaches are only use cases, for the potential of this tool is ultimately yours to take.

A quick search over the Internet would reveal that the word `contexture` means: `the fact or manner of being woven or linked together to form a connected whole` and also `the putting together of words and sentences in connected composition; the construction of a text`.

Picking `contexture` as the name for this project means that we are trying to expose not only our ultimate intentions, but also more or less how the system is built. The way our projects work is by a DSL that is used to gather different intended search inputs, each one representing some useful abstraction of a search filter \(like an input where you can write a word to be searched, or another where you can filter the search results by one or more options\), then using the values to process a DSL that will end up retrieving values from one or more different databases, then returning these values on the respective sections of the DSL, so that each result can update each one of the components of the user interface. A more detailed description is visible in the following diagram.

The canonical example of a Contexture Node is faceted search, where you have a checkbox list that is both a filter \(in the sense that it restricts results based on the checked values\) and an aggregation \(which shows the top n values that can be checked\). Contexture allows them to be nested in advanced searches with boolean joins like `and`/`or`/`not`.

This thought process will become more clear as we progress through the docs. Hopefully, some pages later it will be easy to grasp how we provide a new perspective on building search interfaces, and perhaps even how you can use it to power up your business, just like we have been doing for almost a decade.

1 change: 1 addition & 0 deletions docs/CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs.contexture.site
70 changes: 70 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<!doctype html>
<!--

Instructions:

- Save this file.
- Replace "ltchris" with your GitHub username.
- Replace "Contexture" with your GitHub repo name.
- Replace "Contexture" with your project name.
- Upload this file (or commit to GitHub Pages).

Customize as you see fit!

-->
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width">

<link href='https://fonts.googleapis.com/css?family=Lato' rel='stylesheet'>

<title>Contexture</title>

<!-- Flatdoc -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src='https://cdn.rawgit.com/rstacruz/flatdoc/v0.9.0/legacy.js'></script>
<script src='https://cdn.rawgit.com/rstacruz/flatdoc/v0.9.0/flatdoc.js'></script>

<!-- Flatdoc theme -->
<link href='style.css' rel='stylesheet'>
<script src='script.js'></script>


<!-- Meta -->
<meta content="Contexture" property="og:title">
<meta content="Contexture - The Contexture DSL (Domain Specific Language) Processor." name="description">

<!-- Initializer -->
<script>
Flatdoc.run({
fetcher: Flatdoc.github('ltchris/contexture-docs')
});
</script>
</head>
<body role='flatdoc' class='no-literate large-brief'>

<div class='header'>
<div class='left'>
<h1>Contexture</h1>
<ul>
<li><a href='https://github.com/smartprocure/contexture'>View on GitHub</a></li>
<li><a href='https://github.com/smartprocure/contexture/issues'>Issues</a></li>
</ul>
</div>
<div class='right'>
<!-- GitHub buttons: see http://ghbtns.com -->
<iframe src="https://ghbtns.com/github-btn.html?user=smartprocure&amp;repo=contexture&amp;type=watch&amp;count=true" allowtransparency="true" frameborder="0" scrolling="0" width="110" height="20"></iframe>
</div>
</div>

<div class='content-root'>
<div class='menubar'>
<div class='menu section' role='flatdoc-menu'></div>
</div>
<div role='flatdoc-content' class='content'></div>
</div>

</body>
</html>
Loading