|
CMSIS-Build
Version 0.10.0 (beta)
Tools, software frameworks, and work flows for productivity with CMSIS based projects
|
The files section specifies files to be included into the project build that are not managed through software components. Files can be associated with a named group. Grouping is mainly for better visualization in a graphical tool, however commandline flags can also be applied on a group level.
Example files section:
| Parents | Element Chain | ||
|---|---|---|---|
| cprj | /cprj | ||
| Child Elements | Description | Type | Occurrence |
| file | Specify a file. | FileType | 0..* |
| group | Specify a group name and list member files in subelements. | GroupType | 0..* |
The description format allows the nesting of groups. It is up to the tool's implementation how grouping is represented in the user interface. The grouping of files only impacts the build, if the assignment of command line options on a group level is supported. The group's name must be unique, multiple groups at the same level with the same name are not allowed.
Example files section:
| Parents | Element Chain | ||
|---|---|---|---|
| files | /cprj/files | ||
| Attributes | Description | Type | Use |
| name | Unique name of the group of files | RestrictedString | required |
| Child Elements | Description | Type | Occurrence |
| file | Specify a file. | FileType | 0..* |
| group | Specify a group (nesting). | GroupType | 0..* |
These compiler options are either added or removed from the inherited command line and affect all C-modules that belong to the file group. This flag can also be added to components and individual files within the description.
See: /cprj/components/component/cflags
These compiler options are either added or removed from the inherited command line and affect all C++-modules that belong to the file group. This flag can also be added to components and individual files within the description.
See: /cprj/components/component/cxxflags
These assembler options are either added or removed from the inherited command line and affect all Assembler modules that belong to the file group. This flag can also be added to components and individual files within the description.
See: /cprj/components/component/asflags
Specify files that are not included through software components.
| Parents | Element Chain | ||
|---|---|---|---|
| files | /cprj/files | ||
| group | /cprj/files/.../group | ||
| Attributes | Description | Type | Use |
| name | Path and name of the file, relative to location of the project file. | xs:string | required |
| category | Type of file, for example, whether the file is a C or assembler file. Use the predefined values from the table File Categories. | FileCategoryType | required |
| src | Folder specifying the source code location for a library if included in a subdirectory. | xs:string | optional |
These compiler options are either added or removed from the inherited command line and affect the C-modules that is referenced by the file. This flag can also be added to components and file groups within the description. Note: if the file category attribute is anything but 'sourceC' or 'source' and the file's extension is *.c, the element will be ignored.
See: /cprj/components/component/cflags
These compiler options are either added or removed from the inherited command line and affect the C++-modules that is referenced by the file. This flag can also be added to components and file groups within the description. Note: if the file category attribute is anything but 'sourceCpp' or 'source' and the file extension is *.cpp, the flag will be ignored.
See: /cprj/components/component/cxxflags
These assembler options are either added or removed from the inherited command line and affect the Assembler module that is referenced by the file. This flag can also be added to components and file groups within the description. Note: if the file category attribute is anything but 'sourceAsm' or 'source' and the file extension is *.s, the flag will be ignored.
See: /cprj/components/component/asflags


Dominic Matteo in hospital following surgery on brain tumour
by PA Media- Former Liverpool and Leeds player out of intensive care
- Matteo being treated at Leeds General Infirmary
Dominic Matteo is being treated in hospital after having surgery on a brain tumour, his former club Liverpool have said.
The 45-year-old underwent an operation on Monday and is currently being treated after coming out of intensive care, the club added in a statement.
Matteo started his career with Liverpool, making 155 appearances, before moving to Leeds where he became a fan favourite after scoring the goal against Milan which earned them a place in the 2000-01 Champions League knockout stages.
“The thoughts of everyone at the club are with Dom, his family and friends and we will be offering our support to them throughout this difficult time,” Liverpool said. “A popular member of the Liverpool side in the 1990s and a regular pundit and commentator on LFCTV in recent years, Matteo made his debut for the Reds in October 1993.
“We wish Dom a full and speedy recovery and will offer any support we can to his wife and family. Dom’s family would like to place on record their gratitude to all staff at Leeds General Infirmary and express their thanks for all of the messages of support they have received.”
Matteo won six Scotland caps in his career, which ended with spells at Blackburn and Stoke.


Source code for dials.algorithms.indexing.basis_vector_search.combinations
from __future__ import annotations
import logging
import math
from cctbx.sgtbx.bravais_types import bravais_lattice
from cctbx.uctbx.reduction_base import iteration_limit_exceeded
from dxtbx.model import Crystal
from scitbx.array_family import flex
from dials.algorithms.indexing import DialsIndexError
from dials.algorithms.indexing.compare_orientation_matrices import (
difference_rotation_matrix_axis_angle,
)
from dials.algorithms.indexing.symmetry import find_matching_symmetry
logger = logging.getLogger(__name__)
[docs]
def candidate_orientation_matrices(basis_vectors, max_combinations=None):
# select unique combinations of input vectors to test
# the order of combinations is such that combinations comprising vectors
# nearer the beginning of the input list will appear before combinations
# comprising vectors towards the end of the list
n = len(basis_vectors)
# hardcoded limit on number of vectors, fixes issue #72
# https://github.com/dials/dials/issues/72
n = min(n, 100)
basis_vectors = basis_vectors[:n]
combinations = flex.vec3_int(flex.nested_loop((n, n, n)))
combinations = combinations.select(
flex.sort_permutation(combinations.as_vec3_double().norms())
)
# select only those combinations where j > i and k > j
i, j, k = combinations.as_vec3_double().parts()
sel = flex.bool(len(combinations), True)
sel &= j > i
sel &= k > j
combinations = combinations.select(sel)
if max_combinations is not None and max_combinations < len(combinations):
combinations = combinations[:max_combinations]
half_pi = 0.5 * math.pi
min_angle = 20 / 180 * math.pi # 20 degrees, arbitrary cutoff
for i, j, k in combinations:
a = basis_vectors[i]
b = basis_vectors[j]
angle = a.angle(b)
if angle < min_angle or (math.pi - angle) < min_angle:
continue
a_cross_b = a.cross(b)
gamma = a.angle(b)
if gamma < half_pi:
# all angles obtuse if possible please
b = -b
a_cross_b = -a_cross_b
c = basis_vectors[k]
if abs(half_pi - a_cross_b.angle(c)) < min_angle:
continue
alpha = b.angle(c, deg=True)
if alpha < half_pi:
c = -c
if a_cross_b.dot(c) < 0:
# we want right-handed basis set, therefore invert all vectors
a = -a
b = -b
c = -c
model = Crystal(a, b, c, space_group_symbol="P 1")
uc = model.get_unit_cell()
try:
cb_op_to_niggli = uc.change_of_basis_op_to_niggli_cell()
except iteration_limit_exceeded as e:
raise DialsIndexError(e)
model = model.change_basis(cb_op_to_niggli)
uc = model.get_unit_cell()
params = uc.parameters()
if uc.volume() > (params[0] * params[1] * params[2] / 100):
# unit cell volume cutoff from labelit 2004 paper
yield model
[docs]
def filter_known_symmetry(
crystal_models,
target_symmetry,
relative_length_tolerance=0.1,
absolute_angle_tolerance=5,
max_delta=5,
):
"""Filter crystal models for known symmetry.
Args:
crystal_models (list): A list of :class:`dxtbx.model.Crystal` objects.
target_symmetry (cctbx.crystal.symmetry): The target symmetry for filtering.
relative_length_tolerance (float): Relative tolerance for unit cell lengths in
unit cell comparison (default value is 0.1).
absolute_angle_tolerance (float): Angular tolerance (in degrees) in unit cell
comparison (default value is 5).
max_delta (float): Maximum allowed Le Page delta used in searching for basis
vector combinations that are consistent with the given symmetry (default
value is 5).
"""
n_matched = 0
cb_op_ref_to_primitive = target_symmetry.change_of_basis_op_to_primitive_setting()
if target_symmetry.unit_cell() is not None:
target_symmetry_primitive = target_symmetry.change_basis(cb_op_ref_to_primitive)
else:
target_symmetry_primitive = target_symmetry.customized_copy(
space_group_info=target_symmetry.space_group_info().change_basis(
cb_op_ref_to_primitive
)
)
target_bravais_str = str(
bravais_lattice(
group=target_symmetry_primitive.space_group_info()
.reference_setting()
.group()
)
)
for model in crystal_models:
uc = model.get_unit_cell()
best_subgroup = find_matching_symmetry(
uc, None, max_delta=max_delta, target_bravais_str=target_bravais_str
)
if best_subgroup is not None:
if target_symmetry.unit_cell() is not None and not (
best_subgroup["best_subsym"]
.unit_cell()
.is_similar_to(
target_symmetry.as_reference_setting().best_cell().unit_cell(),
relative_length_tolerance=relative_length_tolerance,
absolute_angle_tolerance=absolute_angle_tolerance,
)
):
logger.debug(
"Rejecting crystal model inconsistent with input symmetry:\n"
f" Unit cell: {str(model.get_unit_cell())}"
)
continue
n_matched += 1
yield model
if not n_matched:
logger.warning(
"No crystal models remaining after comparing with known symmetry"
)
[docs]
def filter_similar_orientations(
crystal_models, other_crystal_models, minimum_angular_separation=5
):
for cryst in crystal_models:
orientation_too_similar = False
for cryst_a in other_crystal_models:
R_ab, axis, angle, cb_op_ab = difference_rotation_matrix_axis_angle(
cryst_a, cryst
)
if abs(angle) < minimum_angular_separation: # degrees
orientation_too_similar = True
break
if orientation_too_similar:
logger.debug("skipping crystal: too similar to other crystals")
continue
yield cryst


Sunday, July 9, 2006 11:00 AM
Today's birthday:
Tom Hanks, star of
"The Da Vinci Code"
Ben
Nicholson
and the Holy Grail
Part I:
A Current Exhibit
A. Diamond Theory, a 1976 preprint containing, in the
original version, the designs on the faces of Nicholson's "Kufi
blocks," as well as some simpler traditional designs, and
B. "Block Designs," a web page illustrating design
blocks based on the 1976 preprint.
Part III:
The Leonardo Connection
Part IV:
Nicholson's Grail Quest
"I'm interested in locating the holy
grail of the minimum means to express the most complex ideas."
-- Ben Nicholson in a 2005 interview
Nicholson's quest has apparently lasted for some time.
Promotional material for a 1996 Nicholson exhibit in Montreal says it
"invites visitors of all ages to experience a contemporary architect's
search for order, meaning and logic in a world of art, science and
mystery." The title of that exhibit was "Uncovering Geometry."
For web pages to which this same title might apply, see Quilt
Geometry, Galois Geometry, and Finite
Geometry of the Square and Cube.
* "Square Kufi" calligraphy is used in Islamic
architectural ornament. I do not know what, if anything, is
signified by Nicholson's 6x12 example of "Kufi blocks" shown above.


We love the fact that digital technology can change lives. It has the power to make us more productive, better connected, happier and wiser.
We make problem solving look cool. Let us help you make a beautiful product.
From API development to a landing page, you’ve found the guys to do it all.
Maybe you just want to talk and discuss ideas. Great, let’s validate your idea.


{{< layout}} {{$pageTitle}} Payment declined {{/pageTitle}} {{$header}}
You need to pay for your passport. Your passport application won't be submitted until you do.
Check your card details or use a different payment card and try again.
{{#input-submit}}try-payment{{/input-submit}} {{/form}} {{/ hmpo-partials-form}} {{/content}} {{/ layout}}


National Statistics
Vocational and Other Qualifications Quarterly: Oct to Dec 2016
Statistics for qualifications other than GCSEs, A levels, the Diploma and its components in England, Wales and Northern Ireland.
Documents
Ref:
Ofqual/17/6178
PDF
,
1.04MB
,
42 pages
This file may not be suitable for users of assistive technology.
Request an accessible format.
If you use assistive technology (such as a screen reader) and need a
version of this document in a more accessible format, please email
<EMAIL_ADDRESS>.
Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet
,
285KB
This file may not be suitable for users of assistive technology.
Request an accessible format.
If you use assistive technology (such as a screen reader) and need a
version of this document in a more accessible format, please email
<EMAIL_ADDRESS>.
Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet
,
11.1KB
This file may not be suitable for users of assistive technology.
Request an accessible format.
If you use assistive technology (such as a screen reader) and need a
version of this document in a more accessible format, please email
<EMAIL_ADDRESS>.
Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Word Document
,
12.2KB
This file may not be suitable for users of assistive technology.
Request an accessible format.
If you use assistive technology (such as a screen reader) and need a
version of this document in a more accessible format, please email
<EMAIL_ADDRESS>.
Please tell us what format you need. It will help us if you say what assistive technology you use.
Details
Main findings
-
Nearly 1.1 million certificates were awarded in 2016 quarter 4, a decrease of 7% on the same quarter of 2015. This is the lowest number of certificates awarded during quarter 4 in the past five years. The decline is mostly due to a decrease in the number of certificates in functional skills and QCF qualifications.
-
The number of available qualifications in quarter 4 decreased by 5%; from 31,340 in the previous quarter to 29,866.
-
The qualification with the highest number of certificates this quarter was CIEH Level 2 Award in Food Safety in Catering (QCF) with 24,600 certificates awarded.
-
The number of certificates issued for Level 1 qualifications decreased by 12% on the same quarter in 2015 (from 286,800 to 251,200). This was mostly due to a decrease in the number of certifications for functional skills and QCF qualifications.
-
The number of certificates issued for Level 2 qualifications decreased by 5% compared to the same quarter the previous year (from 523,550 to 499,100).
-
The number of Level 3 certifications increased by 5% (from 176,800 to 186,300) compared to the same quarter the previous year.
-
The highest number of certificates awarded by sector subject area of qualification in this quarter was for health, public services and care (234,450). This was closely followed by preparation for life and work (228,800).
Datasets
The
datasets
used to produce this release are available for England, Wales and Northern Ireland and for each individual country.
Consultation on Ofqual’s statistical releases
We are seeking views on our proposed changes to Vocational Quarterly and Annual Qualifications Market Report. This consultation closes at 5pm on 24 March 2017. Please click
here
for further information on the consultation and how to respond.


| Today Overview | Count |
| Today Scan times: | {{ data.today_task_count }} |
| Today Vulnerabilities: | {{ data.today_vulns_count }} |
| Today Scanned Projects Count: | {{ data.today_projects_count }} |
| Today Files Count: | {{ data.today_files_count }} |
| Today Code Number: | {{ data.today_code_number }} |
| Total Overview | Count |
| Total Scan times: | {{ data.total_task_count }} |
| Total Vulnerabilities: | {{ data.total_vulns_count }} |
| Total Scanned Projects count: | {{ data.total_projects_count }} |
| Total Files Count: | {{ data.total_files_count }} |
| Total Code Number: | {{ data.total_code_number }} |
| Average Scanning Time: | {{ data.avg_scan_time }} s |
| Longest Scanning Time: | {{ data.max_scan_time }} s |
| Shortest Scanning Time: | {{ data.min_scan_time }} s |
| Today Vulnerability | Count |
| {{ ev.vuls }} | {{ ev.counts }} |
| Total Vulnerability | Count |
| {{ ev.vuls }} | {{ ev.counts }} |


JACKIE BROWN A review by David Wilcock (C)1998
(MIRAMAX) RUNNING TIME: 154 MINUTES (2 HOURS 34 MINUTES) STARRING PAM GRIER, SAMUEL L. JACKSON, ROBERT FORSTER, BRIDGET FONDA AND ROBERT DE NIRO. DIRECTED BY QUENTIN TARANTINO
Before starting, I'll get the obvious out of the way first. Jackie Brown is not as good as Reservoir Dogs or Pulp Fiction. Right, now I'll get to reviewing the film on it's own (without comparing to Tarantinos previous films) Jackie Brown, based on the novel Rum Punch by Elmore Leonard, is the story of an air stewardess, called Jackie Brown (Grier) who has the chance to sneak off with $1 million dollars. To do this, she must enlist the help of bondsman Max Cherry (Forster), and try to fool Ordell (Jackson), an arms dealer who kills anyone he thinks will blab to the police (including Grier) and dopeheads Melanie and Louis (Fonda and De Niro) who plan to steal Griers money. Along the way, she must also use the help of cop Ray Nicloet (Keaton) who wants to take Ordell down. Throughout the plot is Tarantino typically good dialogue, and some good performances from Grier, Fonda and Forster. Tarantino has written another good script, but it seems more restrained because he is working from a novel. Somehow, the script never reaches the dizzy heights of Pulp Fiction (1994), which is a shame. Tarantino is a great scriptwriter, but not such a great adapter. He needs more creative freedom. Hopefully, he won't adapt another book after this movie. I have not read the novel Rum Punch, so I don't know how close the characters are to to the book, but the performances were all pretty good. Grier, a former blaxploitation star and seen recently in Mars Attacks! (1996) is good as Jackie Brown, delivering a suitably 'hard ass' image (although it's difficult to believe she could be an air stewardess.) Jackson is practically repeating his role as Jules in Pulp Fiction, which is a shame. His character isn't very interesting, but he is funny, and he has some of the best one liners in the movie. Fonda is superb, and very sexy, as dopehead Melanie, but she hardly features in the film. De Niro, like in Copland (1997), is seemingly on auto pilot. Forster is excellent as the burnt out Max, with a suitably gravely voice, and some good acting. The audience relates to his character the most. However, the audience just doesn't really relate (with the possible exception of Jackson and Grier) to the other characters. Most of them are flat and two dimensional. This is a shame, and all the characters have potential which is never fully developed. Considering the running time, a little bit more effort could have been based on reinforcing the characters. Also, Tarantino seems to be directing on autopilot. Apart from some split screen and a generally good final 30 minutes, the direction is plodding, and nowhere near as good as (sigh) Reservoir Dogs (1992) and Pulp Fiction. There's a good soundtrack, however, and the dialogue can get good. Jackie Brown, overall, is good, entertaining, and never really gets boring. However, I guess I just came into the cinema expecting more, and the film never really delivers. Although disappointing compared to Reservoir Dogs and Pulp Fiction, on it's own, Jackie Brown is an above average crime thriller. OVERALL RATING= *** OUT OF ***** REVIEW BY DAVID WILCOCK
DAVID WILCOCK<EMAIL_ADDRESS>Visit the Wilcock Movie Page! http://wilcockmovie.home.ml.org -OR- http://www.geocities.com/Hollywood/9061
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Reach Us
imobiGeeks, 3-4-494/1, Genesis Towers, Barkatpura, Hyderabad - 500027, INDIA.
+91 40 6663 6214
Map Location
iOS
Windows
Web
Phone
Tablet
Client's Feedback
Customer's Zone
ABA
AIADA
ALZ
ALN
AOA-PAC
APTA
ARTBA
Blue Advocacy
CUNA
Growth Energy
Lobby-Day
NAHB
NCGA
Suryanamaskar
School Bus
Red Bumper


Execute the CLI commands in the following sections to interact with Terminal Link. If you need further assistance, see the CLI Reference.
Launch local backtests with data from the Bloomberg Terminal desktop API. Lean automatically fetches the data required for your backtest.
$ lean backtest "<projectName>" --data-provider "Terminal Link"
Start Jupyter Research Notebooks, tapping into the entire QuantConnect API with the data sourced from a Bloomberg Terminal.
$ lean research "<projectName>" --data-provider "Terminal Link"
Launch live trading algorithms to trade with any of the 1300+ routing destinations in the Bloomberg EMSX network.
$ lean live "<projectName>" --brokerage "Terminal Link" --data-feed "Terminal Link"


--- layout: post title: "World Congress of Herpetology" subtitle: "Dunedin, New Zealand" date: 2020-01-05 background: '/img/posts/wch9_logo.png' ---
I was very fortunate to attend the 9th World Congress of Herpetology, where I gave a talk on reduced endurance and mitochondrial function in asexual whiptails compared to sexuals study (see Research).
It was an amazing conference, with incredible talks, posters, plenaries, and social events. Listening to amazing science, seeing old friends, and meeting academic heroes made it an unforgettably great experience!


My Fabulous Garden
New Flower
Name
image
Alstroemerias
Gardenias
Orchids
Roses
Sunflowers
Tulips
Peonies
Season
save
# Image
Name
Season


The last time I had emotional conflict was with my family. They're concerned and they think they know a better path in my life and I had to respectfully disagree.
I tried to explain who I am and what's my character and how everything's changed since the time they were young. I am risk taking and maybe they are not. People have different characters and that doesn't mean somebody's right ot wrong. There's no one formula to life.
After a lot of talking, I think they better accepted the fact that different people, choose different paths. I think only the time will show them and me, what is the better path and what could've been.
The next time I'll probably do the same. You can try to make everybody happy, but that usually doesn't happen. Everybody has to make their own decisions and then face the consequences!


IPL SOUND FX
April 26, 2014
Oh this is IPL (Indian Premier League) season. This is the 7th season of IPL. Lot of things are happening. The whole nation is busy with the IPL for whole evening. Even in offices many every one has the concentration in this game rather than in their respective work. There are even some serious fights among the friends for supporting their teams.
Some of the participating teams are
- Chennai Super Kings
- Rajasthan Royals
- Sunrisers Hyderabad
- Mumbai Indians
- Royal Challengers Bangalore
- Kolkata Knight Riders
- Kings XI Punjab
- Delhi Daredevils
Each and every time has their own strength and weakness. Some of the start and classic player like Sachin, Dravid are missing even though the momentum with the people to support their favorite team has not yet stopped. It has just increased.
To bring more excitement among the fans we have recently searched and found the popular and upcoming application. This application is very helpful to show our support from our mobile. This very simple application yet is interesting. Like more popular application like sound horn it is also making interesting sounds which can support the IPL teams.
The exciting feature of this application is it has in built with sounds which are officially used by the teams for marketing their teams. Along with this the application is also having some other sounds which are mostly used by IPL in all seasons.
Some of the sounds which the application has as follows
- PEPSI IPL AD MP3
- IPL SIREN DRUMS
- IPL SIREN TRUMPET (MINI)
- IPL SIREN TRUMPET (FULL )
- CROWD NOISE
In future the expected update for this application is that there will live score updates which will consume less bandwidth which will be useful for the people who are busy and just not able to watch the full match. For each and every 4's and 6's and wickets the teams official music will be played.
You can download the application from the Google Play Store as of now. And soon the same application will be available to different platforms.


HEMORRHOIDAL- glycerin, phenylephrine hydrochloride, pramoxine hydrochloride and petrolatum cream
Meijer Distribution Inc
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
Active ingredient
Glycerin 14.4%
Phenylephrine HCl 0.25%
Pramoxine HCl 1%
White petrolatum 15%
Purpose
Protectant
Vasoconstrictor
Local anesthetic
Uses
- for temporary relief of pain, soreness and burning
- helps relieve the local itching and discomfort associated with hemorrhoids
- temporarily shrinks hemorrhoidal tissue
- temporarily provides a coating for relief of anorectal discomforts
- temporarily protects the inflamed, irritated anorectal surface to help make bowel movements less painful
Warnings
For external use only
Ask a doctor before use if you have
- heart disease
- high blood pressure
- thyroid disease
- diabetes
- trouble urinating due to an enlarged prostate gland
Ask a doctor or pharmacist before use if you are
presently taking a prescription drug for high blood pressure or depression
When using this product
- do not exceed the recommended daily dosage unless directed by a doctor
- do not put into the rectum by using fingers or any mechanical device or applicator
Stop use and ask a doctor if
- bleeding occurs
- condition worsens or does not improve within 7 days
- an allergic reaction develops
- the symptom being treated does not subside or if redness, irritation, swelling, pain, or other symptoms develop or increase
If pregnant or breast-feeding,
ask a health professional before use.
Keep out of reach of children.
If swallowed, get medical help or contact a Poison Control Center right away.
Directions
- adults: when practical, cleanse the affected area by patting or blotting with an appropriate cleansing wipe. Gently dry by patting or blotting with a tissue or a soft cloth before applying cream.
- when first opening the tube, puncture foil seal with top end of cap
- apply externally or in the lower portion of the anal canal only
- apply externally to the affected area up to 4 times daily, especially at night, in the morning or after each bowel movement
- for application in the lower anal canal: remove cover from dispensing cap. Attach dispensing cap to tube. Lubricate dispensing cap well, then gently insert dispensing cap partway into the anus.
- thoroughly cleanse dispensing cap after each use and replace cover
- children under 12 years of age: ask a doctor
Other information
- store at 20°-25°C (68°-77°F)
Inactive ingredients
aloe barbadensis leaf extract, butylated hydroxyanisole, carboxymethylcellulose sodium, cetyl alcohol, citric acid, edetate disodium, glyceryl monostearate, laureth-23, methylparaben, mineral oil, panthenol, propyl gallate, propylparaben, purified water, sodium benzoate, steareth-2, steareth-20, stearyl alcohol, vitamin E, xanthan gum
Questions or comments? 1-800-719-9260
Principal Display Panel
Compare to Preparation H® Cream active ingredients
Maximum Strength Pain Relief
Hemorrhoidal Cream
Smooth Cream Formula with Aloe


Toggle navigation
Dashboard
Statistics
Routes
View Routes
Delete Routes
Add Routes
Accounts
Log Out
Add Routes
×
×
Add Route


Nickname: Pragmatic
Role: founder and programmer
Experience: 20 years of professional programming, cryptocurrencies, cryptography
Nickname: Mentat
Role: user support
Experience: lifelong communication skills and excellent knowledge about AnonEuro
Nickname: V4V
Role: translator
Experience: native speaker of Croatian and English language, writing, proofreading
Nickname: Kiko
Role: consulting
Experience: 30 years of programming experience, cryptocurrencies and monetary systems
If you would like to join AnonEuro team, please let us know in the Anonutopia Telegram group.


We were hanging out one night in the upper west side of Manhattan after a big storm had just hit the northeast. I’d been in New York for a week, teaching some classes for a Massachusetts-based company I worked for at the time. I had only recently acquired the confidence and ease of those who travel frequently for work, and to have New York be the place where I’d get to show off my new road-warrior powers to an old friend was a priviledge.
The company had paid for dinner and the cabs and we’d enjoyed ourselves on the dime of others, as is the pleasure of those who travel for a living. I was chilling at her place before deciding it was too late to go across town to the lower east side, where my Best Western was situated next to all of those fish markets under the Brooklyn Bridge.
“I have a question,” she said.
“Abraham Lincoln, 1861.”
“What?”
“Never mind,” I said. “It was a long shot anyway.”
“Oh, Ok…” she said, confounded. “Hey, why have we never hooked up?”
[…]
The question caught me by total surprise. Scarlet* was the kind of girl that you loved because there was no way to NOT love her – every boy in the world loved her, had always loved her, and knew no moment in their lives when they had not loved her. But I’m just cool like that.
“Because,” I told her, “you’re taller than me and you have a complex about shorter boys, even though I’m 6 feet even on a good hair day.”
“C’mon. Seriously,” she insisted. “Why have we never hooked up?”
“Since when would want to hook up with me?”
“Now, why should I answer your question when you haven’t seriously considered mine?”
“Fair enough,” I told her. “I guess you’re right. The logic’s all there: we’re perfect hook-ups for each other. We’re friends, we know each other well enough to know that we could never date, so a relationship is out of the question.  She curled her lip at this and squinted her eyes just slightly.
  You can’t handle me.”
“But as far as approaching you from THAT angle…why have we not hooked up, indeed… well, let’s see. You’re so beautiful your name often comes up on star charts.  You have to bury your phone under 4 sweaters in order for us to have a conversation.
“In contrast, I’m a bumbling traveler who can’t commit to either side of the extremes who wishes he could write like you and admires your zazz and creative drive to the point of fan-dom and if we weren’t friends I’d consider asking you for your autograph. And I hate asking for autographs.”
“Really?”
“Yeah. Really. Now my question.”
She sat up on the couch, leaned over to the coffee table and grabbed the remote control. She turned off the TV as the credits were ending, and then backhanded the remote onto the other couch as if it were her last hookup, disposable and now used. It was buried by other pillows only to be remembered and found the next Wednesday. Then she turned her shoulders to face me. My eyes dropped to her breasts behind that soft and thin-strapped stay-at-home top of hers; obviously no bra. My gaze floated back up to her pale blue eyes.
I’d always thought they lacked a depth I’d seen in other blue eyes. But right then, in that light, it occurred to me that it wasn’t that the depth wasn’t there; it’s that her eyes, windows into her soul, were closed off from the world and only showed the blue on the surface. And she controlled that.
“Yeah, I’d hook-up with you if we didn’t have anything better to do.”
“Scarlet, that’s the nicest mean-thing you’ve ever said to me.”
“What do you have to do tonight?” She said to me, slightly biting her lower lip. My lips curled too, and I was speechless.
She pulled herself down onto me by the shirt collar. As she gripped my shirt a button went flying somewhere by her brick wall under the tension she was releasing. The cold bricks of her apartment softened, their edges blurred as if by industrial sandpaper. The friction filled the apartment with a new kind of heat and inside it there was no telling who was in control of this situation.
–
After she finished with me, I only got one more glimpse of her eyes before she shoo-ed me out into the snow to fetch a cab.
Her eyes were a deep blue.


First look at Valve's Half-Life: Alyx
Free to Index VR headset owners.
by Tom PhillipsValve has now officially announced its next Half-Life game, titled Half-Life: Alyx.
As we heard earlier this week, Alyx will be set between Half-Life and Half-Life 2. You'll play as the latter's Alyx Vance as she and her father mount a secret resistance to the alien Combine.
Alyx is set to launch on Steam in March 2020 and be compatible with all PC-based VR headsets.
It'll cost $60 on its own - or it'll be free if you have shelled out for a Valve Index headset.
Valve describes Alyx as being in the vein of a "classic Half-Life game" with a focus on exploration, puzzles, combat and story.
"Everyone at Valve is excited to be returning to the world of Half-Life," Valve founder Gabe Newell said. "VR has energised us. We've invested a lot of ourselves in the technology. But we're also game developers at heart, and to be devoting ourselves to a VR game this ambitious is just as exciting.
"For that to come in the form of Half-Life feels like the culmination of a lot things we care a lot about: truly great games, cutting edge technology, and open platforms. We can't wait for people to experience this."


Men's fashion
Men's Sneakers
Shirts
T-Shirts & Tanks
Suits & Coats
Shorts
Jeans
Watches
Sunglasses
Women's fashion
Shoes
Tops & Tees
Coats & Vests
Skirts
Dresses
Jeans
Shorts
Handbags
Men's Sneakers
Shirts
T-Shirts & Tanks
Suits & Coats
Shorts
Jeans
Watches
Sunglasses
Shoes
Tops & Tees
Coats & Vests
Skirts
Dresses
Jeans
Shorts
Handbags


Milwaukee firefighter Robert Olson, 44, reportedly molested the girl on numerous occasions – then texted her begging her to stay silent, it is claimed.
Olson, arrested last Wednesday, is said to have written: ‘I am so sorry got (sic) what happened, I didn’t mean to, please don’t go, please don’t tell anyone, I am going to prison, I’m going to get raped.
‘I am so sorry…I want to help you…’
Olson, a lieutenant with Milwaukee Fire Department, is also said to have texted his alleged victim’s family begging them for clemency.
Advertisement Advertisement
Those messages, shared by prosecutors read: ‘In the last three months since this happened, I have done a ton of work to regain trust.
‘I have already made extreme life changes and carry this every day like a 100-pound weight no matter what it looks like on the outside.

But Olson’s pleas fell on deaf ears, with his alleged abuse later reported to Oak Creek Police Department.
Further details of his alleged abuse have yet to be released, and it is unclear how he knew the girl reported to be his victim, or when the attacks happened.
The Milwaukee Fire Department has also opened an internal investigation into Olson’s conduct and says it is taking the matter extremely seriously.
He is also set to be suspended from his job as a result of the police investigation.
He has been charged with sexual assault of a child under the age of 16, Fox6 reported.


Full information available online at https://tardypad.me/resume
Damien Tardy-Panis
About
Professional experience
Personal experience
Education
Languages


At First Sight * * * (out of * * * * )
Directed by Irwin Winkler. Cast: Val Kilmer, Mira Sorvino, Kelly McGillis, Nathan Lane, Steven Weber, Bruce Davison. 1999 - 128 minutes. Rated PG-13 (for profanity and sexual situations). Reviewed January 22, 1999.
Like the wonderful 1990 drama, "Awakenings," starring Robin Williams and Robert De Niro, "At First Sight, " directed by Irwin Winkler, is inspired by a true story documented by physicFirst Sight, " directed by Irwin Winkler, is inspired by a true story documented by physician Oliver Sacks. Since "Awakenings" was so very good, and made my top ten list the year it was released, "At First Sight" is not quite as strong since it is not directed with as sure a hand as Penny Marshall, but is still an intelligent and vibrantly-acted drama.
The film begins as Amy (Mira Sorvino), a stressed-out New York architect, decides to take some time off and travel upstate to the country. At the hotel she is staying at, she makes a massage appointment and after a long, soothing session which ends with her crying as a release of emotions, she strikes up a conversation with the handsome masseur Virgil (Val Kilmer), only to find out later that he is actually blind. Amy doesn't really care if he has a handicap or not, and begins to spend time with him more and more until they finally start to fall in love. Once she has returned to New York, Amy begins to research on Virgil's certain type of retinal blindness, which he has had since three years of age, and out of a stroke of luck, comes into contact with a doctor (Bruce Davison) who believes he can repair Virgil's sight, even though there have only been thirty similar cases in history. At first reluctant, Virgil finally travels with Amy to NYC and agrees to the surgery, much to the hesitance of his overbearing, but loving older sister (Kelly McGillis). Ultimately, the surgery is a success, but problems arise since Virgil cannot relate to what he sees, since he has never visually seen anything before, only touched objects. He moves into Amy's apartment and she is eager to stand by him, but Virgil's maladjustment begins to put a strain on their relationship.
On the basis of the overall story, "At First Sight" is indeed a film that has been done many times before, and owes a great deal to its predecessor, "Awakenings." What will happen throughout the film can also be easily telegraphed in advance. However, what helps "At First Sight" rise above this predictability is in the mature and intelligent relationship that develops between Virgil and Amy. Usually, romantic pictures are of the shameless puppy-dog sort (the recent Tom Hanks/Meg Ryan-starrer "You've Got Mail" immediately pops to mind), but with this film, I grew to care more about the characters and their plight.
The film starts off noticably well as Amy travels up north and first meets Virgil. The massaging sequences were strangely erotic, maybe even more so than the later actual "love scenes," and as their romantic involvement quickly developed, the film was both entertaining and sweet, and there was clearly a lot of chemistry between the two. These joyous moments early on balanced out well with the later scenes in which their relationship is seriously tested due to a contrast in the life styles that they have always known, with Virgil completely used to being blind and having a comforting, peaceful life in the country to Amy's eventful life in the "big city."
The other major compliment that must be given to the film are the nearly flawless performances across the board. Val Kilmer, usually cast in the "macho" type of role, was always believable as a blind person, and playing his character was probably a little more tricky than it appears. It was up to Kilmer to not come off as someone to pity, but to sympathize with, and he pulled it off. Mira Sorvino, who made a spectacular debuting splash in 1995's hilarious Woody Allen comedy, "Mighty Aphrodite," for which she won a well-deserved Oscar as a kind-hearted, but ditzy hooker, is a standout here. Although she has made some mediocre film choices since then (1997's "Mimic," 1998's "The Replacement Killers"), she always has managed to come out unscathed, and it is with "At First Sight" that she finally has another juicy role to play. In a truthful climactic scene set in Amy's apartment between she and Virgil, Sorvino proves to be one of the most gifted young actresses around today, and has a flare for both comedic and dramatic pieces. Kelly McGillis, who could have easily come off as the "bad," one-dimensional sister, instead is also given an unexpectedly multifaceted character to play as a woman who may be overly protective but simply cares for her brother. Finally, Nathan Lane, who is usually a little too over-the-top, is appropriately restrained as a vision therapist.
The one misstep of "At First Sight" is in its treatment of the medical procedure done on Virgil. Very little is ever said or discussed concerning it, and when the surgery occurs, it is so briefly glimpsed at that it is impossible to see what is being done to his eyes. Perhaps the reason this aspect of the film was not more in-depth was that the makers were afraid it would gross out audiences, but I would personally take realism, even if it is graphic, any day over simply giving the explanation of the surgery the cold shoulder. In "Awakenings," the patients and illness were far more satisfyingly portrayed.
Because of how strong the screenplay, written by Steve Levitt, is in the way it deals with the main relationship, and because of the fabulous performances from Kilmer and Sorvino, the film's few problems can be swept over to the side. The adult way that the romance is depicted by director Irwin Winkler is, no doubt, in respect to the real-life couple that the film was inspired by, who are still together after many years (even though the setting of the film was changed to New York). Since January is usually the time of year that is known as the dumping ground from bad movies, "At First Sight" comes as a refreshing and sophisticated change of pace.
- Copyright 1999 by Dustin Putman < Dustin Putman's Film Haven > >>
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
SST/Macro
|
#include <app.h>
Classes | |
| struct | factory |
Public Types | |
| typedef void(* | destructor_fxn) (void *) |
| typedef int(* | main_fxn) (int argc, char **argv) |
| typedef int(* | empty_main_fxn) () |
| Public Types inherited from sstmac::sw::thread | |
| enum | state { PENDING =0, INITIALIZED =1, ACTIVE =2, SUSPENDED =3, BLOCKED =4, CANCELED =5, DONE =6 } |
| Help resolve deadlock situations. | |
Public Member Functions | |
| int | allocate_tls_key (destructor_fxn fnx) |
| app * | parent_app () const override |
| void | sleep (timestamp time) |
| void | compute (timestamp time) |
| void | compute_inst (compute_event *cmsg) |
| void | compute_loop (uint64_t, int nflops_per_loop, int nintops_per_loop, int bytes_per_loop) |
| void | compute_detailed (long flops, long intops, long bytes) |
| void | compute_block_read (long bytes) |
| void | compute_block_write (long bytes) |
| void | compute_block_memcpy (long bytes) |
| lib_compute_loops * | compute_loops_lib () |
| lib_compute_time * | compute_time_lib () |
| virtual | ~app () |
| Goodbye. More... | |
| virtual void | kill () override |
| virtual void | skeleton_main ()=0 |
| void | run () override |
| Derived types need to override this method. | |
| sprockit::sim_parameters * | params () const |
| void | add_subthread (thread *thr) |
| void | set_subthread_done (thread *thr) |
| void | remove_subthread (thread *thr) |
| void | remove_subthread (long thr_id) |
| thread * | get_subthread (long id) |
| get_subthread More... | |
| int | allocate_mutex () |
| int | allocate_condition () |
| mutex_t * | get_mutex (int id) |
| condition_t * | get_condition (int id) |
| bool | erase_condition (int id) |
| bool | erase_mutex (int id) |
| void * | globals_storage () const |
| virtual void | clear_subthread_from_parent_app () override |
| const std::string & | unique_name () const |
| void | set_unique_name (const std::string &name) |
| Public Member Functions inherited from sstmac::sw::thread | |
| template<class T > | |
| T * | get_api () |
| state | get_state () const |
| Get current thread state. | |
| app_id | aid () const |
| task_id | tid () const |
| software_id | sid () const |
| void | spawn (thread *thr) |
| long | init_id () |
| long | thread_id () const |
| void | cancel () |
| bool | is_canceled () const |
| operating_system * | os () const |
| void * | stack () const |
| size_t | stacksize () const |
| void ** | backtrace () const |
| int | last_backtrace_nfxn () const |
| int | backtrace_nfxn () const |
| void | append_backtrace (void *fxn) |
| void | pop_backtrace () |
| void | set_backtrace (void **bt) |
| device_id | event_location () const |
| void | collect_backtrace (int nfxn) |
| void | init_thread (int phyiscal_thread_id, threading_interface *tocopy, void *stack, int stacksize, threading_interface *yield_to, void *globals_storage) |
| void | start_thread (thread *thr) |
| void | join () |
| process_context | get_process_context () const |
| key * | schedule_key () |
| key used More... | |
| bool | is_initialized () const |
| void | set_affinity (int core) |
| void | add_affinity (int core) |
| void | zero_affinity () |
| void | set_cpumask (uint64_t cpumask) |
| uint64_t | cpumask () const |
| int | active_core () const |
| void | set_active_core (int core) |
| void * | get_tls_value (long thekey) const |
| void | set_tls_value (long thekey, void *ptr) |
| timestamp | now () |
Static Public Member Functions | |
| static sprockit::sim_parameters * | get_params () |
| static void | delete_statics () |
| Static Public Member Functions inherited from sstmac::sw::thread | |
| static thread * | current () |
Protected Member Functions | |
| app (sprockit::sim_parameters *params, software_id sid, operating_system *os) | |
| api * | _get_api (const char *name) override |
| Protected Member Functions inherited from sstmac::sw::thread | |
| thread (sprockit::sim_parameters *params, software_id sid, operating_system *os) | |
Protected Attributes | |
| sprockit::sim_parameters * | params_ |
| Protected Attributes inherited from sstmac::sw::thread | |
| state | state_ |
| Monitor state for deadlock detection. | |
| operating_system * | os_ |
| Each thread can only run under one OS/scheduler. | |
| std::queue< key * > | joiners_ |
| app * | parent_app_ |
| process_context | p_txt_ |
| software_id | sid_ |
Friends | |
| class | thread |
Additional Inherited Members | |
| Static Public Attributes inherited from sstmac::sw::thread | |
| static const int | no_core_affinity = -1 |
| static const int | no_socket_affinity = -1 |
| static const int | main_thread = -1 |
| static const int | nic_thread = -2 |
| static const int | rdma_thread = -3 |
| static const app_id | main_thread_aid |
| static const task_id | main_thread_tid |
The app derived class adds to the thread base class by providing facilities to allow applications to simulate computation. Messaging models are supported through an api class, which are stored by the app
|
virtual |
Goodbye.
These get deleted by unregister
| void sstmac::sw::app::add_subthread | ( | thread * | thr | ) |
Let a parent application know about the existence of a subthread If thread does not have an initialized ID, a unique ID is allocated for the thread Can be called from a constructor. This method does NOT throw.
| thr |
| int sstmac::sw::app::allocate_condition | ( | ) |
Allocate a unique ID for a condition variable
| int sstmac::sw::app::allocate_mutex | ( | ) |
Allocate a unique ID for a mutex variable
| condition_t * sstmac::sw::app::get_condition | ( | int | id | ) |
Fetch a condition object corresponding to the ID
| id |
| mutex_t * sstmac::sw::app::get_mutex | ( | int | id | ) |
Fetch a mutex object corresponding to their ID
| id |
| thread * sstmac::sw::app::get_subthread | ( | long | id | ) |
get_subthread
| id |
|
overridevirtual |
This can get called by anyone to have a thread exit, including during normal app termination
Reimplemented from sstmac::sw::thread.
| void sstmac::sw::app::remove_subthread | ( | thread * | thr | ) |
Let a parent application know a subthread has finished. This completely erases the thread. There will be no record of this thread after calling this function.
| thr | A thread with initialized ID |
| void sstmac::sw::app::set_subthread_done | ( | thread * | thr | ) |
Indicate to parent application that subthread is done running. This puts a null marker for the thread rather than deleting it completely
| thr |


start writing document
Build and Preview
Execute in the document directory with site_config.json
teedoc serve
After displaying Starting server at <IP_ADDRESS>:2333 ....
, it is fine
Open the browser to visit: http://<IP_ADDRESS>:2333
Modify the file in real time. After saving the file, it will automatically rebuild the file after 3
seconds by default, and then the browser will automatically refresh
The delay time of automatic refresh can be set, you can add the
-t
parameter, for example,teedoc -t 0 serve
is set to a0
second delay,
It can also be set in the document configuration, see the description of the configuration parameterrebuild_changes_delay
below
If you only need to build and generate HTML pages, you only need to execute
teedoc build
Note that if you are finally generating the release version of the document, you must use the
build
command to generate the website page, the page generated by theserve
command can only be used for local preview, there will be redundant preview related code, which is not suitable Used in production deployment
In addition, you can also specify the parameter -d
or --dir
to specify the document directory, so that you do not need to execute commands under the document directory, such as
teedoc -d /home/teedoc/my_doc build
Build document delete
The built document will be placed in the out
directory, the program will not actively delete it, if you need to clear it, please delete it manually
Document directory structure
├─.github
├─docs
│ ├─develop
│ │ ├─en
│ │ └─zh
│ └─get_started
│ ├─assets
│ ├─en
│ └─zh
├─pages
│ └─index
│ ├─en
│ └─zh
├─static
│
└─site_config.json
.github
: automatic build script, how to use it in later chaptersdocs
: document, contains multiple documents, each document is a separate folderpages
: pages, including homepages, 404 pages, etc.static
: static file folder, such as storing picturessite_config.json
: website configuration fileconfig.json
: In addition tosite_config.json
, each document directory can haveconfig.json
to configure document related pagessidebar.json
: document directory
Configuration file
The configuration file can be a file in json
or yaml
format, choose the one you like
If your document directory has a lot of content, it is recommended to use the yaml
format, which looks more concise
teedoc
provides commands for converting between json
and yaml
formats
From json to yaml
teedoc -f ./config.json json2yaml
From yaml to json
teedoc -f ./config.json yaml2json
site_config.json Site configuration
Website configuration items, such as website name, page routing, plug-in configuration, etc.
The following sample configuration file looks like there are many configuration items, don’t be scared, in fact it is very simple, the main configuration items, mastered, thinking is easy
The configuration file is in json
format, for example:
{
"site_name": "teedoc",
"site_slogon": "happy to write",
"site_root_url": "/",
"site_domain": "teedoc.github.io",
"site_protocol": "https",
"config_template_dir": "./",
"route": {
"docs": {
"/get_started/zh/": "docs/get_started/zh",
"/get_started/en/": "docs/get_started/en",
"/develop/zh/": "docs/develop/zh",
"/develop/en/": "docs/develop/en"
},
"pages": {
"/": "pages/index/zh",
"/en/": "pages/index/en"
},
"assets": {
"/static/": "static",
"/get_started/assets/": "docs/get_started/assets"
},
"/blog/": "blog"
},
"executable": {
"python": "python3",
"pip": "pip3"
},
"plugins": {
"teedoc-plugin-markdown-parser":{
"from": "pypi",
"config": {
}
},
"teedoc-plugin-theme-default":{
"from": "pypi",
"config": {
"dark": true,
"env":{
"main_color": "#4caf7d"
},
"css": "/static/css/custom.css",
"js": "/static/js/custom.js"
}
}
}
}
site_name
: site namesite_slogon
: website slogansite_root_url
: website root directory path, use the default value/
; if you need to put the generated content in the website folder (not the root directory folder), you can setsite_domain
: website domain name, currently used place: generatesitemap.xml
androbots.txt
site_protocol
: website protocol,http
orhttps
, currently used place: generatesitemap.xml
androbots.txt
config_template_dir
:config
template file,config.json
orconfig.yaml
in other document directories can beimport
the files in it, the default location is the directory wheresite_config
is locatedroute
: Web page routing, including routing of documents, pages and resource files, such as routing of documents
"docs": {
"/get_started/zh/": "docs/get_started/zh",
"/get_started/en/": "docs/get_started/en",
"/develop/zh/": "docs/develop/zh",
"/develop/en/": "docs/develop/en"
},
The key
represents the url
of the document in the final generated website, and the following value is the corresponding source document path.
For example, the source document docs/get_started/zh/README.md
will generate the file out/get_started/zh/index.html
after construction. If it is not a md
file (ie unsupported file), it will be left intact Copy files automatically, and finally the out
directory is the generated website
The same is true for pages
, assets
will not perform document conversion and directly copy to the corresponding directory
executable
: executable program settings, here you can set the executable program names ofpython
andpip
, which will be used when installing the plug-inplugins
: Plug-in configuration, mainly composed of name, source, and configuration items.
For the name, you can search forteedoc-plugin
in github to find open source plug-ins. You are also welcome to participate in writing plug-ins (you only need to use thePython
syntax);
Fill in thefrom
field withpypi
, if the plug-in is downloaded locally, you can also fill in the folder path, or you can fill in thegit
path directly, such asgit+https://github.com/*****/* *****.git
The configuration items are determined by the specific plug-in. For example,teedoc-plugin-theme-default
has thedark
option to choose whether to enable the dark themerebuild_changes_delay
: After detecting file changes, how many seconds to delay automatically regenerating the document, the browser will automatically refresh the page, the default is3
seconds, the shortest can be set to0
seconds, you can useteedoc -t 3 serve
orteedoc --delay serve
to override this settingrobots
: Customize the content ofrobots.txt
, such as"User-agent": "*"
means that all clients are allowed to crawl, which will have an impact onSEO
. For example, crawling ofJPEG
pictures is not allowed:"Disallow": "/.jpeg$"
, and access to theadmin
directory:"Disallow": "/admin"
is not allowed, specifically androbots.txt
Same format requirements
config.json document configuration
This is the configuration for each document, placed in the root directory of each document, such as docs/get_started/zh/config.json
, each document is independent of each other, you can set the same to keep the website navigation bar consistent
Here you can configure the navigation bar of each document and the content of the footer (footer
), and you can also set the config
item of the plug-in. The current document will override the configuration in site_config.json
to achieve different Documents in different languages (internationalization/i18n) or styles, etc.
such as:
{
"import": "config_zh",
"id": "teedoc_page",
"class": "language_zh",
"navbar": {
"title": "teedoc",
"logo": {
"alt": "teedoc logo",
"src": "/static/image/logo.png"
},
"home_url": "/",
"items": [
{
"url": "/get_started/zh/",
"label": "Installation and Use",
"position": "left"
},
{
"url": "/develop/zh/",
"label": "Development",
"position": "left"
},
{
"url": "https://github.com/neutree/teedoc",
"label": "github",
"target": "_blank",
"position": "right"
},
{
"label": "Language: ",
"position": "right",
"items": [
{
"url": "/get_started/zh/",
"label": "Chinese"
},
{
"url": "/get_started/en/",
"label": "English"
}
]
}
]
},
"footer":{
"top":[
{
"label": "Link",
"items": [
{
"label": "Use teedoc to build",
"url": "https://github.com/neutree/teedoc",
"target": "_blank"
},
{
"label": "Copyright © 2021 Neucrack",
"url": "https://neucrack.com",
"target": "_blank"
}
]
},
{
"label": "Source",
"items": [
{
"label": "github",
"url": "https://github.com/neutree/teedoc",
"target": "_blank"
},
{
"label": "Source files of this website",
"url": "https://github.com/teedoc/teedoc.github.io",
"target": "_blank"
}
]
}
],
"bottom": [
{
"label": "*ICP备********号-1",
"url": "https://beian.miit.gov.cn",
"target": "_blank"
},
{
"label": "*Public Network Security No. ************",
"url": "https://beian.miit.gov.cn/#/Integrated/index",
"target": "_blank"
}
]
},
"plugins": {
"teedoc-plugin-search":{
"config": {
"search_hint": "Search",
"input_hint": "Enter keywords, separate multiple keywords with spaces",
"loading_hint": "Loading, please wait...",
"download_err_hint": "Failed to download the file, please refresh and try again or check the network",
"other_docs_result_hint": "Results from other documents",
"curr_doc_result_hint": "Current document search result"
}
}
}
}
import
: You can import the configuration from the template file, the file name without suffix. For example,site_config
setconfig_template_dir
to./
, fill in"import": "config_zh"
here, it means to importconfig_zh.json
(priority) orconfig_zh in the same directory as
site_config.yaml
.
Then you can add the configuration of the current document, overwrite the template file, the same keywords, and modify different content. If it is an array (list), to replace the content of the template file, you need to addid
to the array item of the template file. Keyword, then modify, if theid
keyword is not specified, it will be appended to the array. For example, the template fileconfig_zh
:
{
"navbar": {
"title": "teedoc",
"items": [
{
"url": "/get_started/zh/",
"label": "安装使用",
"position": "left"
},
{
"id": "language",
"label": "Language: ",
"position": "right",
"items": [
{
"url": "/zh",
"label": "中文"
},
{
"url": "/en",
"label": "English"
}
]
}
]
}
}
The configuration file of a specific document:
{
"import": "config_zh",
"navbar": {
"title": "teedoc123",
"items": [
{
"id": "language",
"label": "Language: ",
"position": "right",
"items": [
{
"url": "/get_started/zh",
"label": "中文"
},
{
"url": "/get_started/en",
"label": "English"
}
]
}
]
}
}
id
: Theid
of the document. Generally, there is no need to write it. Theid
will be set to the
tags of all pages in theconfig.json
directory. For example, ifteedoc_page
is set here, all pages in this directory will become ...
. If themarkdown
file has setid
, this value will be overwritten, that is, each page can only have oneid
.class
: Theclass
of the document, generally you don't need to write it. Set theclass
to the
tags of all pages in theconfig.json
directory, and use spaces for multipleclass
Separate. For example, iflanguage_zh
is set here, all pages in this directory will become ...
. Ifclass
is set in themarkdown
file, it will be appended. For example, iflanguage_zh
is set inconfig.json
, andclass: zh_readme
is set inREADME.md
, the final result isclass=" language_zh zh_readme"
. This function is convenient to customize the style of each page or the style of different documents.navbar
: Navigation bar settings, each document can be individually set up the navigation bar, if you want to keep the entire website unified, you can modify each configuration to be the same. The keywordtype
is used in the first layer and is used to indicate the category of this label in the navigation bar. The values are:
link
: normal link, this option is the default when you don’t write thetype
keywordlist
: There are sub-items, which will be displayed in the form of a drop-down menu
selection
: Single option, such as language selection. When thetype
keyword is not written and there is theitems
keyword, this option is the default
footer
: website footer, divided into upper and lower parts, and multiple columns can be added to the upper part, and each column can have multiple valuesplugins
: Configure the configuration items of the plug-in, if it has been set in thesite_config.json
, it will be overwritten, that is, the priority of the childconfig
is higher
sidebar.json Document directory (sidebar) settings
There is a directory for setting documents, one for each document, independent of each other
The file path uses a relative path, just fill in the file name, README.md
will be automatically converted to index.html
In addition, you can also directly url
without writing the path of file
, such as "url": "/get_started/zh"
, at the same time you can set "target":"_blank"
to open in a new window. Current window open
such as:
{
"items":[
{
"label": "Introduction to teedoc",
"file": "README.md"
},
{
"label": "Install teedoc",
"file": "install/README.md"
},
{
"label": "Start writing document",
"file": "usage/start.md"
},
{
"label": "Plugin",
"file": "plugins/README.md",
"items":[
{
"label": "Theme Plugin",
"file": "plugins/themes.md"
},
{
"label": "Other plugins",
"file": "plugins/others.md"
}
]
},
{
"label": "markdown syntax",
"file": "syntax/syntax_markdown.md"
},
{
"label": "Website using teedoc",
"file": "usage/sites.md"
},
{
"label": "More samples",
"items":[
{
"label": "Second-level subdirectory example",
"items":[
{
"label": "Sample three-level sub-directory",
"items":[
{
"label": "Article 1",
"file": "more/example_docs/doc1.md"
}
]
},
{
"label": "Article 2",
"file": "more/example_docs/doc2.md"
}
]
},
{
"label": "This is a link",
"url": "https://github.com/teedoc/teedoc",
"target": "_blank"
}
]
}
]
}
Markdown documentation
You need to confirm in site_config.json
that there is a markdown
parsing plugin enabled, such as teedoc-plugin-markdown-parser
.
Create a folder or file in the directory corresponding to config.json
, such as get_started/README.md
(README.md
will eventually generate index.html
), and then write the content:
Markdown header
Add a header
---
title: teedoc
keywords: teedoc, markdown, jupyter notebook, html, document generation, alternative gitbook, website generation, static website
desc: teedoc, convert markdown or jupyter notbook into html static webpage
id: zh_readme
class: zh_readme
---
Use these keys to set article information:
title
: the title of the articlekeywords
: Keywords, multiple keywords are separated by English commas,
, will be added to the header ofhtml
, which is convenient for search engines to crawldesc
: page description, which will be added to the header ofhtml
for easy crawling by search enginesid
: pageid
, will be added to thehtml
tag, such as...
, it can be left unset, it will overwriteconfig.json
Settings inclass
: pageclass
, multiple separated by English comma,
, it is not necessary to set it, it will overwrite the setting inconfig.json
. For example, you can set thecss
style of a specific page by setting this value
Markdown file content
The content is written using the Markdown
grammar, because the title will be converted into the

tag, so the content is recommended to start with the secondary title, so that a page has only one

tag, which is convenient for search engines to crawl ,such as
---
title: teedoc
keywords: teedoc, markdown, jupyter notebook, html, document generation, alternative gitbook, website generation, static website
desc: teedoc, convert markdown or jupyter notbook into html static webpage
id: zh_readme
class: zh_readme
---
## Title One
content. . .
## Title Two
content. . .
Links, pictures and other resource files
The file placed under the document directory, if it is a recognizable file, such as *.md
, it will be converted to *.html
, if it cannot be recognized, such as *.jpg
, it will be copied as it is
The easiest and recommended way
Resource files can be placed in the corresponding directory of the document, such as the document docs/get_started/zh
, you can create docs/get_started/zh/assets/images/logo.png
,
Then use relative path references in docs/get_started/zh/README.md
, namely ![](assets/images/logo.png)
Advanced method
This situation applies to multiple documents referencing resources under the same folder (url
), which is convenient for maintaining multiple documents, such as multilingual translation, or reducing traffic consumption of CDN
Use resources outside the document path, configure in site_config.json
{
"route": {
"docs": {
"/get_started/zh/": "docs/get_started/zh",
},
"assets": {
"/get_started/assets/": "docs/get_started/assets"
}
}
}
This setting will copy the entire directory of docs/get_started/assets
to /get_started/assets
So only need to use relative path reference in docs/get_started/zh/README.md
, namely ![](../assets/images/logo.png)


Pakistan Opposition Party Protest on Major Highway
Protesters vowed to continue with their action until their demands were met.
by APSupporters of a hardline Islamist party on Friday blocked highways across the country in an effort to pressure Prime Minister Imran Khan to resign, accusing him of bad governance.
Members of the JUI (F) (Jamiat Ulema-e-Islam-Fazlur Rehman) party held the sit-in protest in the Hub area outside Karachi, organized by regional leader Rashid Soomro, which immediately brought the traffic to a halt.
Hub is the border city between Sindh and Balochistan, connecting Karachi to southern Balochistan via the RCD highway.
“We believe that our mandates and votes were snatched away from us in the general elections held on July 25, 2018, and a bogus government was imposed on us in the results of fraudulent elections. We have gathered here with our demands that new and fresh elections should be held in the country with immediate resignation of current leadership, Rashid Somroo, General Secretary, Jamiat Ulema-e-Islam party.
Passenger buses and transport trucks were also stranded in the traffic which compelled passengers to walk while carrying their belongings.
Protesters vowed to continue with their action until their demands were met.


Logo Design, Website Design, Presentation Design, and Research
Ship Design, Presentation Design, and Video Production
Art, Logo Design, Research, and Copy Editing
Coding, Website Design, and Video Production
Coding, Logo Design, Website Research, and Copy Editing
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugit, error amet numquam iure provident voluptate esse quasi, veritatis totam voluptas nostrum quisquam eum porro a pariatur veniam.


Reports method references mapped to Comparator interface which don't fulfill its contract.
Some method references like Integer::max can be mapped to Comparator interface.
However using them as Comparator is meaningless and result might be unpredictable.