Project

cliptic

0.04
No release in over a year
A terminal user interface to fetch and play cryptic crosswords
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 0.9.11
~> 1.4.0
~> 1.4.2
 Project Readme

cliptic: Crosswords in your Terminal

  • A command-line interface for downloading and playing cryptic crosswords from within the terminal.
  • Puzzles are sourced from the free crosswords uploaded daily to Lovatt's.
  • cliptic is written in Ruby using the ncurses library

New to 0.1.3

Bug Fixes

  • Fix the ssl certificate bug that prevents fetching puzzles
  • Fix the "out of range" bug when moving to an undefined index using g

Features

  • Add manual redraw feature to the main puzzle view. Called with ^L (useful for terminal resize)
  • Add exit controls to the resize interface (q or ^C)

Features

  • VIM-like keybindings
  • Puzzles scraped daily from Lovatt's. Puzzles are cached locally to prevent excessive requests
  • Progress can be saved to continue puzzles at a later time
  • Time taken to complete the puzzle is logged on completion of puzzle. High scores can be viewed within cliptic
  • Track progress for puzzles released in the last week
  • Puzzle history is tracked, making it easy to pick up recently played puzzles
  • Select puzzles to play by date manually (puzzles are available for up to 9 months from release)
  • Customisation of cliptic's appearance

Dependencies

System

  • Ruby
  • Ncurses
  • Curl

Gems

  • curb
  • curses
  • sqlite3

Installing

As a Gem

  • cliptic is available as a Ruby Gem. To install, simply run:
gem install cliptic

Manually

  • Or, to install manually:
git clone https://github.com/apexatoll/cliptic
cd cliptic
rake build install

Running

  • To run cliptic after installation, simply run the command cliptic from within the terminal
  • When the program is first run it will ask the user whether they want cliptic to generate a default config file. This is located in ~/.config/cliptic/cliptic.rc
  • If the screen is too small to display cliptic, please resize until the prompt disappears

Other Commands

  • There are other commands that can be run from the command line

Today

  • The command cliptic today will play today's puzzle
  • This command can be followed with a negative number to play a puzzle n days before today
  • For example cliptic today -2 will play the puzzle from the day before yesterday

Resetting Progress

  • The command cliptic reset will allow the user to reset progress in cliptic.
  • The command can be followed with either all, states, scores or recents
  • all resets all progress
  • states resets all game progress
  • scores resets high scores
  • recents resets puzzle history

Main Menu

  • On the main menu there are several options
    • Play today's puzzle
    • Show this week's progress
    • Select a date manually
    • Display recent puzzles
    • Show high scores
    • Exit cliptic

Menu Navigation

Command Action
j/DOWN, k/UP Move cursor
q Back/quit
ENTER Make selection

Solving Puzzles

  • By default, cliptic uses vim-like keybindings for navigation and text manipulation. There are plans to release more "accessible" keybindings in the future.
  • Text manipulation is modal akin to vim. Vim-users will be familiar with insert and normal modes
  • The currently focussed clue is displayed within the window at the bottom of the screen. If you are on a cell that is an intersection of two clues (ie an across and a down) you can swap between them using TAB

Game Modes

  • There are 2 game modes that can be played. These can be changed in the cliptic config file.
  1. Auto_mark = 1 (default)
    • Each clue is marked once every cell is filled
    • The clue will be highlighted green or red depending on whether the attempt is correct
  2. Auto_mark = 0
    • No clues are marked automatically, similar to a paper crossword
    • Clues can be checked manually using the ^G command

Global Commands

Command Action
^S Save current progress (note that progress is saved when exiting puzzles by default)
^R Reveals solution for focussed clue (note that this forfeits adding this puzzle to high scores)
^C Exit puzzle
^E Resets timer and progress for puzzle
^G Mark current progress (only relevant if auto_mark is set to 0)
^P Pause game
^L Redraws the screen (useful on resizing terminal window)

Navigation (Normal Mode)

  • There are several ways to navigate the cells of the cliptic grid in NORMAL MODE.
Command Action
h, j, k, l Move cursor left, up, down, right. Arrow keys can also be used
(n)w Move to (nth) next unsolved clue
(n)b Move to (nth) previous unsolved clue
e Move to end of clue
<clue number>g Move to clue by number
<cell number>G Move to cell by number (not 0 indexed
TAB Swap from across to down clue (or vice versa)

Entering Text (Insert Mode)

Command Action
a-z Enter character to cell
BACKSPACE Delete one character
ESC Exit insert mode. Enter normal mode

Normal Mode

Command Action
I Move to the start of the clue and enter insert mode
a Advance one cell and enter insert mode
c(obj) calls d(obj) then enters insert mode
d(obj) delete the object provided after d (may be w for word or l for character)
i Enter insert mode
r(char) Replaces the character under the cursor with char
x deletes the character under the cursor

Configuration

  • Cliptic settings can be added to the cliptic.rc file found at ~/.config/cliptic/cliptic.rc

Interface

  • Affect how cliptic functions
  • Set using the format
set <setting> <0/1>

Settable Items

Item Description Default
auto_advance Move to next clue after solve 1
auto_mark Mark clues as they are entered 1
auto_save Save progress on exit 1

Colours

  • Colours are numbered 1-16.
    • 0 is default terminal color
    • 1-8 equates to your terminals 8 default colours.
    • 9-16 equate to same colours as the background and blank as the foreground
  • To set colour settings use the format
hi <obj> <colour>

Settable Items

Item Description Default
active_num Grid number of active clue 3
bar Top and bottom bars 16
block Grid blocks 8
box Box outlines 8
grid cliptic grids 8
incorrect Incorrect clue attempt 1
correct Correct clue attempt 2
prompt Menu prompt 3
default Default text color 0
meta Clue box metadata 3
num Inactive grid numbers 8
logo_text Logo text color 3
I Insert mode prompt 15
N Normal mode prompt 12
menu_active Active menu option 15
menu_inactive Inactive menu option 0

Feedback

  • Cliptic is still in development
  • If you have any feature requests or find any bugs please leave a new issue
  • Contributions welcome!

Dedicated to WES who passed on to me his love of crosswords